hostA免密登录hostB
hostA
ssh-keygen -t rsa
一直回车,再远程拷贝至hostB
scp /root/.ssh/id_rsa.pub root:192.168.IP.IP:/root/.ssh/authorized_keys
这个时候可能会报错:
scp /root/.ssh/authorized_keys: No such file or directory
在hostB上也执行密钥生成,主要是生成.ssh/的目录,服务端才能够将公钥拷贝过去
hostB
一般要更改权限,只允许属主读写
chmod 600 /root/.ssh/authorized_keys
vim /etx/ssh/sshd_config
PubkeyAuthentication yes ##一般去除#号
AuthorizedKeysFile .ssh/authorized_keys
在hostA上ssh hostB通了就成功
如果报错
RSA host key for XXX has changed and you have requested strict checking.
Host key verification failed.
这是Linux重装或openssh-server重装引起的,ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,避免受到DNS Hijack之类的攻击
解决1
ssh-keygen -R IP ##IP为要连接的服务器IP
解决2
vim /root/.ssh/known_hosts
删除掉要连接服务器IP那行