SSH公钥认证

SSH公钥认证

关于公钥认证的原理,维基百科上的这个条目是一个很好的起点: http://en.wikipedia.org/wiki/Public-key_cryptography

如果你的主目录下不存在 .ssh 目录,说明你的 SSH 公钥/私钥对尚未创建。可以用这个命令创建:

$ ssh-keygen

该命令会在用户主目录下创建 .ssh 目录,并在其中创建两个文件:

  • id_rsa

    私钥文件。是基于 RSA 算法创建。该私钥文件要妥善保管,不要泄漏。

  • id_rsa.pub

    公钥文件。和 id_rsa 文件是一对儿,该文件作为公钥文件,可以公开。

创建了自己的公钥/私钥对后,就可以使用下面的命令,实现无口令登录远程服务器,即用公钥认证取代口令认证。

$ ssh-copy-id -i .ssh/id_rsa.pub user@server

说明:

  • 该命令会提示输入用户 user 在 server 上的SSH登录口令。
  • 当此命令执行成功后,再以 user 用户登录 server 远程主机时,不必输入口令直接登录。
  • 该命令实际上将 .ssh/id_rsa.pub 公钥文件追加到远程主机 server 的 user 主目录下的 .ssh/authorized_keys 文件中。

检查公钥认证是否生效,运行SSH到远程主机,正常的话应该直接登录成功。如果要求输入口令则表明公钥认证配置存在问题。如果SSH服务存在问题,可以通过查看服务器端的 /var/log/auth.log 进行诊断。

 

ssh-copy-id : https://anoncvs.mindrot.org/openssh/contrib/ssh-copy-id?view=co

http://henry.precheur.org/system/ssh-copy-id

猜你喜欢

转载自vb2005xu.iteye.com/blog/2123516