SSH免密登录

0x01 SSH

简单说,SSH是一种网络协议,用于计算机之间的加密登录。

0x02 公匙登录

用户认证的两种方式:1. 密码 2. 公钥

每次输入密码登录非常麻烦,使用公钥登录可以省去输入密码的步骤。

公钥登录原理:用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。
一、 生成公钥

ssh-keygen -t rsa

运行结束以后,在$HOME/.ssh/目录下,会新生成两个文件:id_rsa.pub和id_rsa。前者是你的公钥,后者是你的私钥。
二、 复制公钥传到服务器

ssh-copy-id user@host

这一步完成即可免密登录。远程主机将用户的公钥,保存在登录后的用户主目录的$HOME/.ssh/authorized_keys文件中。公钥就是一段字符串,只要把它追加在authorized_keys文件的末尾就行了。

三、 配置服务器别名

Host    kali
HostName        10.x.x.x
Port    22
User    root
IdentityFile    ~/.ssh/id_rsa

最后一项是你的私钥路径。配置完即可ssh kali登录服务器。

Github添加公钥同样可尝试免密的便利。

原文地址:https://www.cnblogs.com/mark-zh/p/11065996.html