设置 SSH 通过密钥登录
我们一般使用 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过密钥方式登录。
密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。
1. 制作密钥对
首先在客户端上制作密钥对。
1 |
|
一路确认即可。
1 |
|
2.发送密钥文件
将密钥公钥文件发送给远端的主机。
1 |
|
1 |
|
3.配置软件
- Xshell
右键“属性” —> “用户身份验证” —> 勾选 “Public Key” 并”设置” —> “用户密钥“ —> ”浏览“ —> “导入”或”生成”
- Termius
设置 —> “Keychain” —> NEW —> “Import or Paste a Key” —> “Import from key file”
- Vscode
远程服务器 —> 配置ssh config文件 —> 添加IdentityFile C:\Users\baixf\.ssh\id_rsa
1 |
|
4.使用服务器端公钥私钥
以上方法为使用客户端的公钥私钥进行免密登录,但是在查阅资料时还看到一种通过服务器端公钥去实现免密登录的,原理应该一样,都是将公钥(锁)放在服务端,利用私钥(钥匙)去认证。
5.总结
- 多个钥匙开一把锁
- 把id_dsa.pub 复制给各个服务器
- 一个钥匙开duobasuo
- 把id_dsa 传给各个服务器
- 把id_dsa 传给自己
参考
设置 SSH 通过密钥登录
https://blog.baixf.tk/2022/09/18/software/设置 SSH 通过密钥登录/