macOS终端SSH公钥登陆服务器

2024-01-04
#Unix

1. 前言

在 macOS 上,用的服务器管理软件是 Royal TSX 1,是一款商业软件,免费有 5 个 SSH 的限额,一般而言是够用的。

但是,第三方开源(比如,iTerm2electerm)或商业软件的潜在漏洞,可能会造成安全隐患。一般要软件保持更新,而且软件版本更新后,会越来越大。

所以,最好的策略是:使用 macOS 默认的 Terminal 终端进行 SSH 的管理。

2. 设置 Terminal

  1. 本地生成新的私钥和公钥

终端输入:

ssh-keygen -t ed25519 -C "name@serverIP"

~/.ssh 路径下会生成:

  • 私钥 id_ed25519_name
  • 公钥 id_ed25519_name.pub

注意⚠️:

  • 命名:~/.ssh/id_ed25519_name
  • 密码:可以输入复杂的密码
  1. 本地上传公钥到服务器

终端输入:

ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 22 name@serverIP
  1. 服务器配置SSH

终端输入:

sudo vim /etc/ssh/sshd_config

内容设置:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

注意⚠️: 通过 man sshd_config 查看详细参数说明。

终端输入并查看:

cat ~/.ssh/authorized_keys

显示 ssh-ed25519 那一行,表示第 2 步 本地上传公钥到服务器 成功。

重启 SSHD 服务:

service sshd restart
  1. 本地设置 SSH,实现快捷登陆

终端输入:

vim ~/.ssh/config

内容为:

Host Sever
  hostname IP
  port 22
  user name
  IdentityFile ~/.ssh/id_ed25519_name
  AddKeysToAgent yes
  UseKeychain yes
  ServerAliveInterval 1h30m
  TCPKeepAlive yes
  IgnoreUnknown AddKeysToAgent,UseKeychain  

注意⚠️: 通过 man sshd_config 查看详细参数说明。

终端输入 ssh Sever 就可以快捷登陆了。

3. 延伸阅读

  1. Royal TSX:macOS系统的服务器管理软件
  2. macOS系统ssh通过密钥文件连接Ubuntu系统
  3. Ubuntu系统SSH设置小结
  4. 笔记:macOS 配置服务器 SSH key-based 登录 - 胡椒的小站
  5. MacOS Ventura 系统 ssh 不再支持 ssh-rsa 的原因及解决办法 - 陪她去流浪
  6. Mac终端ssh容易断开解决方法_mac ssh serveraliveinterval-CSDN博客
  7. SSH(sshd)终极安全加固指南 - sunsky303 - 博客园