# SSH 免密登录

SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定。

SSH 为建立在应用层和传输层基础上的安全协议。

# 免密登录

密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。

# 三步完成配置

1. 客户端生成公私钥

2. 上传公钥到服务器

3. 测试免密登录

# 客户端生成公私钥

如果已经生成过,可以尝试查看 ~/.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

可以看到客户端写入到服务器的 id_rsa.pub (公钥)内容。

# 测试免密登录

客户端通过 ssh 连接远程服务器,就可以免密登录了。

ssh root@192.168.225.25
ok
1

大功告成 🎉 🎉 🎉

最后更新: 11/29/2022, 9:53:56 PM