本文章前半部分引用自Linux/Mac 免密登录Linux 并做了些修改
SSH免密登录的本质是 目的机器 的ssh的authorized_keys
里,包含有 请求机器 的ssh的 公钥,如id_rsa.pub
里的信息
- linu A 登录 linux B
[root@A ~]#ssh-keygen -t rsa
[root@A ~]#cd /root/.ssh/
[root@A ~]#ssh-copy-id root@B
[root@A ~]#ssh root@B
- mac 登录linux
imac $ ssh-keygen -t rsa
imac $ cd /Users/ username /.ssh
imac $ scp id_rsa.pub linux_A:/root/.ssh/
imac $ vi config
Host linux_A
HostName linux_A
User root
IdentityFile ~/.ssh/id_rsa
查看linux_A的authorized_keys中是否有mac的公钥
[root@A ~] cat /root/.ssh/id_rsa.pub authorized_keys
验证是否可免密登录
imac $ ssh linux_A
Ps:解决由于服务器重装系统导致的SSH连接问题
方法1:
sudo vi ~/.ssh/known_hosts
把含有 免密登录目的ip地址 的那条删除。
方法2:
ssh-keygen -l -f ~/.ssh/known_hostsssh-keygen -R 免密登录目的ip地址
然后重新ssh,选择yes。
如果没有在know_hosts文件里找到对应的信息,则采用方法2。