Mac终端SSH免密连接远程服务器

一、本地生成密钥Mac执行
1、Mac生成密钥: 打开 iTerm / 终端,执行:

ssh-keygen -t ed25519

一路回车,不要设置私钥密码(设置了每次开终端还要输私钥密码,没必要)
执行完会在 ~/.ssh/ 生成两个文件:
id_ed25519 私钥(本地保密,不能外传)
id_ed25519.pub 公钥(要传到服务器)

2、特殊情况:执行 ssh-keygen -t ed25519 后,报错:.ssh/id_ed25519 already exists,说明本地已经生成过,那么直接进入到第二步,一键上传公钥就到服务器。

二、一键把公钥上传到远程服务器

ssh-copy-id -p 22 root@123.45.67.89

-p 22 你的 SSH 端口,端口不是 22 就改数字
第一次执行需要输入服务器登录密码,只输这一次
执行成功提示:Number of key(s) added: 1

三、配置SSH别名,一键登录
1、打开配置文件

nano ~/.ssh/config

2、写入模板

# 全局保活,防止几分钟掉线
Host *
  AddKeysToAgent yes
  UseKeychain yes
  ServerAliveInterval 60

# 自定义别名 test
Host test
  HostName 123.45.67.89
  User root
  Port 22
  # 密码登录删掉此行
  IdentityFile ~/.ssh/id_ed25519

3.保存:Control+O → 回车 → Control+X

四、设置 ssh 文件夹权限

chmod 700 ~/.ssh
chmod 600 ~/.ssh/config
chmod 600 ~/.ssh/id_ed25519

五、测试连接

ssh my_tencent

到此完成,可以直接进入服务器,不再提示输入密码。

张贤博客
请先登录后发表评论
  • latest comments
  • 总共0条评论