Linux如何设置证书免密登录

现在A机器执行ssh-keygen命令,生成id_rsa和id_rsa.pub两个文件,id_rsa是私钥(重要,需安全保管),id_rsa.pub是公钥,密钥生成过程中可根据提示对密钥设置密码,也可留空直接回车。

ssh-keygen -t rsa

A机器将刚才的公钥复制到B服务器192.168.252.2,输入密码回车即可(此处使用的root账号免密的登录,会在另一台服务器的~/.ssh下生成authorized_keys文件,不需要手动创建了,如果

是自己手动复制的,需要自己判断有无这个名字,没有就需要自己创建

手动复制也行,一个公钥一行

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.252.2

B机器上创建(如果没有)authorized_keys文件并设置权限:

[root@server2 ~]# touch ~/.ssh/authorized_keys
[root@server2 ~]# chmod 600 ~/.ssh/authorized_keys

B机器上将公钥内容追加到authorized_keys文件中,可以手动复制,添加

[root@server2 ~]# cd ~/.ssh
[root@server2 .ssh]# cat id_rsa.pub >> authorized_keys

B机器修改 /etc/ssh/sshd_config文件,添加以下参数

注意 PermitRootLogin yes 这句会拦截root用户,可以先不写,等证书登录测试成功了加上

RSAAuthentication yes
PubkeyAuthentication yes
#PermitRootLogin yes  # 注意禁止root登录
AuthorizedKeysFile .ssh/authorized_keys

B机器修改完配置文件,重启sshd服务

systemctl restart sshd

在A机器上测试登录验证

ssh root@192.168.252.2 -i id_rsa

B机器禁用密码登录,修改 /etc/ssh/sshd_config文件

PasswordAuthentication no

重启sshd服务

systemctl restart sshd
posted @   朝阳1  阅读(217)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示