使用公钥认证登录远程服务器(Mac)

在登录远程主机的时候通常是使用SSH,而不是使用密码登录。这种情况下使用的是公钥认证(Public Key Authentication),就是在你的主机上使用ssh-keygen生成密钥对(公钥和私钥),私钥是在主机的主机上,把公钥拷贝到你需要登录的远程服务器上,这样你就可以ssh无密码登录到那个server了。Public Key Authentication的基本原理是当有登录请求达到我们的ssh server(远程主机)时,ssh server会使用公钥对一个消息加密,然后回复,只要拥有私钥的机器才能解密这个消息,进而达到认证的目的。

1
ssh root@serverhost

这两天遇到的情况是,申请虚拟主机的时候,会让我们选择是否使用ssh密钥,此时创建的密钥文件就是我们的私钥,公钥已经被放到了虚拟主机的authorized-keys文件中。这个密钥文件在Windows下面使用xshell远程连接工具的话,选择公钥认证,导入这个文件。在Linux系统下面更简单,只是一直不知道ssh-add这个命令。

1
ssh-add -- adds private key identities to the authentication agent

实例如下: