生成密钥

使用ssh-keygen命令生成密钥,会有提示,一路默认就好了(如果已经有密钥对,就不需要这个一步骤,自己创建相关的文件即可)

ssh-keygen

生成之后会在用户的根目录生成一个 “.ssh”的文件夹

cd ~/.ssh
# 目录的权限必须是700
chmod 700 /root/.ssh/

进入后,“.ssh”会有以下几个文件

authorized_keys id_rsa id_rsa.pub known_hosts

authorized_keys文件,存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥,执行以下命令,将公钥添加到该文件里

# 一定要用这个命令,不要用手工赋值到这个文件进去,不然很有可能不行!!!
cat id_rsa.pub >> authorized_keys
# 文件权限必须是600
chmod 600 /root/.ssh/authorized_keys

公钥添加完成之后,公钥就没什么用了,可以删除

rm -rf id_rsa.pub

id_rsa文件文件:是生成的私钥文件,要保存好,放到windows用户目录的.ssh文件夹下
l8cnioms.png
know_hosts文件: 是已知的主机公钥清单,这里没什么用

配置sshd_config

打开配置文件

 vim /etc/ssh/sshd_config

修改以下几处:

PasswordAuthentication no # 这个好像不一定修改为no,也允许输入密码登录
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

修改完成之后,重启sshd服务

service sshd restart

windows登录

完成以上步骤,windows下,就可以免密登录了,如果还是弹出密码输入框,说明公钥或者权限有问题

ssh root@192.168.253.134
最后修改:2023 年 12 月 30 日
如果觉得我的文章对你有用,请随意赞赏