macOS终端SSH公钥登陆服务器
1. 前言
在 macOS 上,用的服务器管理软件是 Royal TSX 1,是一款商业软件,免费有 5 个 SSH 的限额,一般而言是够用的。
但是,第三方开源(比如,iTerm2、electerm)或商业软件的潜在漏洞,可能会造成安全隐患。一般要软件保持更新,而且软件版本更新后,会越来越大。
所以,最好的策略是:使用 macOS 默认的 Terminal 终端进行 SSH 的管理。
2. 设置 Terminal
- 本地生成新的私钥和公钥
终端输入:
ssh-keygen -t ed25519 -C "name@serverIP"
在 ~/.ssh
路径下会生成:
- 私钥 id_ed25519_name
- 公钥 id_ed25519_name.pub
注意⚠️:
- 命名:~/.ssh/id_ed25519_name
- 密码:可以输入复杂的密码
- 本地上传公钥到服务器
终端输入:
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 22 name@serverIP
- 服务器配置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
- 本地设置 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
就可以快捷登陆了。