1、服务器端开启密钥登录模式
/etc/ssh/sshd_config
# 是否允许 root 远程登录
PermitRootLogin yes
# 密码登录是否打开
PasswordAuthentication yes
# 开启公钥认证
RSAAuthentication yes # 这个参数可能没有 没关系
PubkeyAuthentication yes
# 存放登录用户公钥的文件位置
# 位置就是登录用户名的家目录下的 .ssh
# root 就是 /root/.ssh
# foo 就是 /home/foo/.ssh
AuthorizedKeysFile .ssh/authorized_keys
authorized_keys 是一个文件,不是文件夹
# 重启,让配置生效
service sshd restart
2、用户端创建自己的秘钥对
ssh-keygen -t rsa
# 如果出现,已存在,需要覆盖的情况,需要命名别名,以免覆盖其他的配置
cd ~/.ssh/
# 查看公钥
cat id_rsa.pub
# 配置登录别名 省去输 ip 麻烦
# .ssh/config
vi config
Host workhost0 # 登录的服务器别名 ssh examp 就可以了
HostName 8.140.130.30 #要登录的服务器ip
Port 22
User root #登录名
IdentityFile ~/.ssh/id_rsa #你的私钥路径
ServerAliveInterval 30
TCPKeepAlive yes
# 可以配置多个,来支持多个免密登录
3、将你的公钥添加至服务器端的公钥凭证
把文件中的公钥复制到远程主机的~/.ssh/authorized_keys中,如果没有这个文件,那么请创建一个新的。
authorized_keys 是一个文件,不是文件夹
4、用户端即可免密登录
ssh workhost0
### 小Tips
1、~ 是在当前用户目录下,Linux是在root文件下(而不是最外层的目录下)
2、用VScode 打开远程和本地文件目录,可以省去Vim 操作文件的成本
参考链接
1、Mac终端配置ssh免密登陆教程
https://blog.csdn.net/weixin_...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。