SSH

免密登录

1、客户端生成公私钥

bash
# 一直按回车即可(windows系统的话在cmd中输入`ssh-keygen.exe`)
ssh-keygen
# 一直按回车即可(windows系统的话在cmd中输入`ssh-keygen.exe`)
ssh-keygen

然后查看~/.ssh目录下生成的文件:

bash
cd ~/.ssh && ls
cd ~/.ssh && ls

可以看到:

  • id_rsa(私钥)
  • id_rsa.pub(公钥)

2、上传公钥到服务器

bash
# 该命令会将本地公钥文件内容写入到远程服务器的`authorized_keys`文件中,22是默认端口号,提示输入密码时输入密码回车即可
# windows系统的话直接手动复制id_rsa.pub里的文本到服务器上的authorized_keys文件里
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@123.45.67.890
# 该命令会将本地公钥文件内容写入到远程服务器的`authorized_keys`文件中,22是默认端口号,提示输入密码时输入密码回车即可
# windows系统的话直接手动复制id_rsa.pub里的文本到服务器上的authorized_keys文件里
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@123.45.67.890

3、验证免密登录

bash
ssh <username>@123.45.67.890
ssh <username>@123.45.67.890

如果不需要输入密码,直接就能登录的话,说明免密登录已经ok了。