首先,我们说一下为什么要实现 SSH 免密码登录,在 Host 登录 VMware 虚拟机的时候,每次都需要输入密码很麻烦,实现免密码登录很方便;另外,虚拟机中没有什么私人数据,只是一些实验数据,所以没有特别高的安全需求,而且已经配置为外部不可访问! 接下来,我们介绍一下实验环境:

Debian Testing (Host) : 130.203.90.126

Debian Stable (VM) : 192.168.63.132

目标是 Host 远程登录 VM 的时候不需要密码。

Host:

$ ssh-keygen

ssh-keygen

ssh-public-key

VM :

$ ssh-copy-id -i ~/.ssh/test.pub mdl@192.168.63.132

ssh-copy-id1

注意: ssh-copy-id 将key写到远程机器的 ~/ .ssh/authorized_key 文件中 为了更好地说明 ssh-copy-id 的功能,我特地把它的 manpage 截图给大家看看!

ssh-copy-id2

Host :

$ ssh mdl@192.168.63.132

ssh-login

VM :

$ cat ~/.ssh/authorized_keys

为了验证一下 ssh-copy-id 的功能,将 VM 的 ~/.ssh/authorized_keys 文件中的内容和 Host 中的 ~/.ssh/test.pub 文件内容一致。

check