Linux Centos7配置SSH免密登录
配置SSH免密登录说明:
分两步
第一步、给Server A生成密钥对
第二步、给Server B授权
生成密钥对之后,我们可以看看它保存的目录下的文件。
接下来我们就要把Server A(10.1.1.74)的公钥拷贝到Server B(10.1.1.196)上并授权。
我们可以直接用一条命令完成上面拷贝并授权的过程。ssh-copy-id 10.1.1.196
这里不添加用户名就默认是root登录,否则需要添加用户名@IP
然后我们就可以到Server B(10.1.1.196)上面看到拷贝过来的公钥了。
现在我们就可以直接免密登录到Server B(10.1.1.196)
ssh免密登录配置完成!
具体操作如下
第一步:给Server A生成密钥对
$ssh-keygen
系统将会提示你指定保存密钥文件的路径和文件名。默认情况下,密钥对将保存在用户主目录下的.ssh文件夹中。可以直接按回车键接受默认选项。
第二步、给Server B授权
$ssh-copy-id 10.1.1.196
执行该命令后,系统会要求输入你的密码。
第三步:验证SSH远程访问
$ssh '10.1.1.196'
这次将不再需要输入密码,而是直接登录到目标服务器。
遇到问题:
问题1、SSH免密失败(仍需要密码)
原因:SSH设置免密登录后登录仍需密码可能的原因,home 路径下的对应用户权限不对,或者 .ssh 文件夹权限不对,/home/$user 和 /home/$user/.ssh 路径必须是 700 权限,/home/$user/.ssh/authorized_key 必须是 600 权限,这三个路径必须是约定权限,权限不能多,也不能少。
解决办法:修改Server B上的3个权限,如图root用户
/root/.ssh的目录结构:
问题2:提示:Feb 27 10:30:55 loaclhost sshd[64550]: Address 10.1.1.74 maps to loaclhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
解决办法:
ssh 10.1.1.196时报错上述错,本地是10.1.1.74 ,
1、修改本地10.1.1.74中的/etc/ssh/ssh_config中的参数GSSAPIAuthentication no
vim /etc/ssh/ssh_config
GSSAPIAuthentication yes 修改成:GSSAPIAuthentication no
2、修改10.1.1.196的vim /etc/ssh/ssh_config
GSSAPIAuthentication yes 为GSSAPIAuthentication no
when i ssh to a server,i get some message like this:
Address 192.168.5.10 maps to localhost, but this does not map back to the address – POSSIBLE BREAKIN ATTEMPT!
Solution:
Modify the "/etc/ssh/ssh_config" file at localhost
GSSAPIAuthentication no
备注:Server B的/etc/ssh/sshd_config不用改也可以,改/etc/ssh/ssh_config就可以。