目标服务器操作
目标服务器生成密钥对
## 进入系统的指定目录
cd ~/.ssh
## filename 是公钥和私钥的文件名称
## 执行完成后,查看当前目录是否出现两个文件,一个是 .pub结尾的文件,这个是公钥,另外一个是filename名称的文件,这个是私钥
ssh-keygen -t ed25519 -f ~/.ssh/[filename] -N ""
## 把公钥的内容,拷贝到 authorized_keys 文件中
cat [filename].pub >> authorized_keys
## 更改目录和文件的权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
查看SSH配置,是否开启密钥登录
## 进入系统的指定目录
cd /etc/ssh
## 查看ssh文件配置
cat sshd_config
## 主要看两个配置,一个是是否允许私钥登录,还有一个是是否允许公钥登录root(根据实际情况选择)
## PubkeyAuthentication yes # 是否允许公钥登录系统
## PermitRootLogin yes # 是否允许公钥免密登录系统,并且是root用户
## 如果修改了,那么需要重启ssh
systemctl restart sshd
## 执行上述操作后,本地验证下,-vvv是指查看日志, 输出内容中携带了:success 表示sshd这一层是配置好了
ssh -vvv -i ~/.ssh/[filename] user@hostname "echo success"
本机操作
一次性终端有效
# 1. 启动后台的管家进程
eval $(ssh-agent -s)
# 2. 把你的私钥添加给管家(假设你的私钥文件叫 id_rsa)
ssh-add ~/.ssh/id_rsa