# SSH 免密登录
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定。
SSH 为建立在应用层和传输层基础上的安全协议。
# 免密登录
密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。
# 三步完成配置
# 客户端生成公私钥
如果已经生成过,可以尝试查看 ~/.ssh/id_rsa.pub
。
如果没有,本地客户端生成公私钥:(一路回车默认即可)
ssh-keygen
ok
1
上面这个命令会在用户目录 ~/.ssh
文件夹下创建公私钥
- id_rsa (私钥)
- id_rsa.pub (公钥)
# 上传公钥到服务器
测试用的服务器地址为:192.168.225.25 用户为:root 需要准备好密码
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.225.25
ok
1
默认使用 22 端口,可使用 -p
自定义端口:
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 62322 root@192.168.225.25
ok
1
上面这条命令是写到服务器上的 ssh 目录下去了
cd ~/.ssh vim authorized_keys
ok
1
2
2
可以看到客户端写入到服务器的 id_rsa.pub
(公钥)内容。
# 测试免密登录
客户端通过 ssh 连接远程服务器,就可以免密登录了。
ssh root@192.168.225.25
ok
1
大功告成 🎉 🎉 🎉