所谓"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。
要实现公钥登陆的前提是需要用户端需要先生成公/私钥对,正常情况下都是有的,目录为:用户目录下的 .ssh 文件夹,私钥没有后缀,公钥后缀为 .pub。
如果没有公私密钥的话可以使用 ssh-keygen 进行生成.
复制代码
ssh-keygen -f test // -f 制定公司钥名称,回车进入下一步
Enter passphrase (empty for no passphrase): // 这里是密钥口令,如果担心私钥安全可以设置一下
Enter same passphrase again: // 确认密钥口令,回车后完成生成
服务器导入公钥
命令行导入
3ssh-copy-id -i ~/.ssh/test.pub user@host
手动导入
通过账号密码登陆服务器,将公钥复制到 ~/.ssh 目录下,执行下方命令:
cat RemotePPK.pub >> authorized_keys
xshell 使用公钥登陆演示
输入用户名
选择公钥登陆
导入密钥
选择导入好的密钥点 Ok
点击OK 完成登陆