Linux免密登陆远程服务器
原理
ssh服务有两种验证用户登录的方式,一种是基于密码口令的认证,一种是基于密钥的认证,本文主要是实现基于密钥的认证。ssh基于密钥认证过程:
图片来自linux公社
步骤
1.查看远程服务器server是否有a_b用户,没有需要创建该用户
2.在远程服务器server中给a_b用户设置密码
3.进入到跳板机client,切换到a_b用户下,执行第四步
4.复制跳板机client下a_b用户密钥到远程服务器server,需要输入远程服务器a_b用户的密码
ssh-copy-id -i ~/.ssh/id_rsa.pub a_b@server_ip
5.如果没有这个密钥,ssh-keygen -t rsa生成,再次执行第四步
验证
此时执行ssh server_ip验证是否可以免密登陆到远程服务器
注意:ssh server_ip的用户只针对相同的用户名有效,比如client和server下的a_b用户,不能出现client下root用户和servre下a_b用户。把root用户的id_rsa.pub上传给a_b用户,可以使用ssh 用户名@server_ip的登陆方式登陆,不过不推荐此种方式。