写作约定
$: 代表服务器环境
>: 代表本机环境
{Users}: 代表本机用户名
<Users>: 代表服务器登录用户名
开篇
众所周知, 登录服务器有两种验证, 密码验证以及证书验证. 本文以证书验证的方式展开讲解.
绝大部分时候我们通过耳熟能详的工具可以实现快速登录. 例如:
Windows 下: Putty,Xshell,SecureCRT,Finalshell
Mac 下: 自带终端, Putty,SecureCRT,Finalshell
大家可以根据实际情况选择一款或多款作为日常工具.
证书好处不仅在于可以 安全 的访问服务器, 并且在操作大量服务器的时候显得更 快速
本地配置证书
打开 iTerm2
查看是否有 SSH 证书
> cd ~/.SSH
如果提示 cd: no such file or directory: /Users/{Users}/.SSH 则需要先配置 SSH 证书
配置证书(若已有则跳过本步)
输入下列命令 (邮箱可以任意填写) 并连按三次回车
> SSH-keygen -t rsa -C "xx@xx.com"
默认会在 ~/.SSH 目录生成两个文件: id_rsa(私钥),id_rsa.pub(公钥)
修改服务器 sshd 配置
使用 vi 编辑配置文件
$ sudo vi /etc/SSH/sshd_config
分别取消一下内容的注释
- RSAAuthentication yes
- PubkeyAuthentication yes
- AuthorizedKeysFile .SSH/authorized_keys
保存配置文件
重启 sshd 服务
$ sudo /sbin/service sshd restart
导入公钥到服务器认证文件及修改权限
将本机公钥导入服务器
> SSH-copy-id <Users>@host
这时会提示输入目标服务器密码, 正确输入即可
修改服务器相关文件及目录的权限
- $ sudo chmod 700 ~/.SSH
- $ sudo chmod 600 ~/.SSH/authorized_keys
测试是否成功
> SSH '<Users>@host'
将服务器添加至 iTerm2 列表
打开 iTerm2
Command + P 唤醒 Profiles
点击 Edit Profiles
点击左下角 + , 根据个人喜好填写好 Name 字段, 并在 Command 字段中输入: SSH '@host'
最后通过 Command + shift + O 打开搜索框输入写好的 Name 即可快速访问
Enjoy it!
来源: https://juejin.im/post/5c52534de51d456898361cae