专注于快乐的事情

ssh免秘密登录

#ssh免秘密登录

公钥登录过程

使用密码登录,每次都必须输入密码,非常麻烦。SSH还提供了公钥登录,过程如下:
用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。

这种方法要求用户必须提供自己的公钥。可以直接用ssh-keygen生成一个。

使用ssh-keygen生成公钥与私钥对

直接运行ssh-keygen 运行结束以后,在$HOME/.ssh/目录下,会新生成两个文件:id_rsa.pub和id_rsa。前者是你的公钥,后者是你的私钥。

使用ssh-copy-id拷贝公钥都远程机器

将本机的公钥复制到远程机器的authorized_keys文件中
从此使用ssh再登录,就不需要输入密码了。

ssh-copy-id原理

远程主机将用户的公钥,保存在登录后的用户主目录的$HOME/.ssh/authorized_keys文件中。

可以等价如下命令
ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

评论系统未开启,无法评论!