基于公钥认证登录服务器可以很好的隐藏服务器的登录密码,特别是多人登录的开发服务器就非常有用了。
需要登录的服务器,如果是第一次使用公钥登录,则需要生成本机的公钥和私钥(其实没有必要,主要是在家目录下生成.ssh的隐藏目录,还有其目录下的公钥和私钥以备后用。) 一般运行 ssh-keygen -b 2048 -t rsa 生成rsa类型的长度为2048的ssh公私钥,然后一路回车下去。如果不放心的可以根据提示过程输入密钥的口令,这样每次使用时需要验证口令。
1 | $ ssh-keygen -b 2048 -t rsa |
从服务器A登录到服务器B。
将服务器A生成的公钥id_rsa.pub
内的字符串拷贝到服务器B.ssh/authorized_keys
文件中。authorized_keys每行由三部分构成,分别由空格隔开。第一部分指明公钥的类型一般是 ssh-rsa ,第二部分是公钥字符串,第三部分是对该公钥的自定义标识,可以不要。
从Xshell工具生成私钥登录服务器。
关键是生成Xshell的公钥,然后将公钥粘贴到服务器的authorized_keys文件中,然后客户端登录时选择对应的私钥文件就可以登录了。生成公钥: