写作约定
$
:代表服务器环境
>
:代表本机环境
{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 即可快速访问