Debian系统设置SSH密钥登陆

如果没有安装ssh,root权限运行apt install openssh-server进行安装。

bash 复制代码
ssh-keygen -t rsa  # 生成配对密钥,后续一路enter即可

会在用户目录(即~这个)下生成.ssh文件夹,里面的id_rsa是私钥,id_rsa.pub是公钥。

输入cd ~/.ssh/进入.ssh文件夹中,将公钥写入到authorized_keys中,将id)rsa下载并保存好。

bash 复制代码
touch authorized_keys
cat id_rsa.pub >> authorized_keys # 写入公钥写入

此时,还需要给文件相应的权限,不然可能无法正常工作

bash 复制代码
chmod 600 authorized_keys
chmod 700 ~/.ssh

现在密钥已经配对好了,还需要修改ssh的配置文件,打开/etc/ssh/sshd_config文件,修改其中的关键文件

bash 复制代码
PubkeyAuthentication yes # yes表示允许密钥登陆
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2 # 指定密钥的文件位置
PasswordAuthentication no # 不允许使用密码登陆,等测试密钥登陆成功了再修改此条,以防无法登陆

到此,SSH密钥登陆就配置完成了,重启ssh服务即可

bash 复制代码
systemctl restart ssh

除此之外,我习惯性更改端口,并且禁止root用户用户登陆

bash 复制代码
Port 12345 # 把默认的22端口改了
PermitRootLogin no # 禁止root用户登陆
相关推荐
谢尔登32 分钟前
简单聊聊webpack摇树的原理
运维·前端·webpack
只想安静的写会代码1 小时前
centos/ubuntu/redhat配置清华源/本地源
linux·运维·服务器
susu10830189112 小时前
ubuntu多块硬盘挂载到同一目录LVM方式
linux·运维·ubuntu
smaller_maple3 小时前
linux问题记录1
linux·运维·服务器
阿星智力囊5 小时前
Thinkphp6+nginx环境报错信息不显示,接口直接报500和CORS跨域(错误的引导方向),真坑啊
运维·nginx·php·thinkphp6
大柏怎么被偷了7 小时前
【Linux】进程等待
linux·运维·服务器
云和数据.ChenGuang8 小时前
运维面试题之oracle和mysql单表最大容量
运维·mysql·oracle
酷柚易汛智推官8 小时前
Fastlane赋能移动研发:从全流程自动化到工程效能升级
运维·自动化·酷柚易汛
落798.8 小时前
Genlogin × Bright Data,一键解锁自动化采集的高成功率方案
运维·自动化·数据采集·亮数据
羑悻的小杀马特8 小时前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar