Linux 配置SSH免密登录(SSH互信)


有时候两台或多台主机之间我们希望可以进行免密登录,其实SSH有提供这样的功能,只需三步。首先在SSH服务端配置允许公钥私钥配对认证,然后在客户端生成公钥,最后将客户端的公钥上传到服务端。这样就可以从客户端免密登录服务端特定的用户了。

具体操作如下:

一、在SSH服务器所在机器上

1、以root用户登录,更改ssh配置文件 /etc/ssh/sshd_config,去除以下配置的注释

RSAAuthentication yes #启用rsa认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径

2、重启SSH服务

[root@server /]#systemctl restart sshd  //重启ssh服务

二、在客户端机器上

1、生成公钥私钥对

[root@client /]#ssh-keygen -t rsa

一路默认回车,系统在/root/.ssh下生成id_rsaid_rsa.pub

这里使用的rsa还可以指定其他算法如:dsa | ecdsa | ed25519 | rsa1z。不同版本的系统支撑的算法可能不一样。详情请使用man ssh-keygen查看。

2、把id_rsa.pub发送到服务端机器上

[root@client /]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.11.20 #server ip

这里传个了192.168.11.20主机的root用户,你可以替换成其他用户。

3、验证

[root@client /]#ssh root@192.168.11.20 #server ip

三、免密失败问题参考如下博文

参考:https://www.cnblogs.com/my-show-time/p/16008674.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM