MAC下使用 iterm2 免密登录服务器

4,474 阅读1分钟

写作约定

$:代表服务器环境

>:代表本机环境

{Users}:代表本机用户名

<Users>:代表服务器登录用户名

开篇

众所周知,登录服务器有两种验证,密码验证以及证书验证。本文以证书验证的方式展开讲解。

绝大部分时候我们通过耳熟能详的工具可以实现快速登录。例如:

Windows 下:Putty、Xshell、SecureCRT、Finalshell

Mac 下:自带终端、Putty、SecureCRT、Finalshell

大家可以根据实际情况选择一款或多款作为日常工具。

证书好处不仅在于可以 安全 的访问服务器,并且在操作大量服务器的时候显得更 快速

本地配置证书

  1. 打开 iterm2
  2. 查看是否有 SSH 证书
> cd ~/.ssh

如果提示 cd: no such file or directory: /Users/{Users}/.ssh 则需要先配置 SSH 证书

  1. 配置证书(若已有则跳过本步)

输入下列命令(邮箱可以任意填写)并连按三次回车

> ssh-keygen -t rsa -C "xx@xx.com"

默认会在 ~/.ssh目录生成两个文件: id_rsa(私钥),id_rsa.pub(公钥)

修改服务器 sshd 配置

  1. 使用 vi 编辑配置文件
$ sudo vi /etc/ssh/sshd_config 
  1. 分别取消一下内容的注释
RSAAuthentication yes 
PubkeyAuthentication yes 
AuthorizedKeysFile .ssh/authorized_keys 
  1. 保存配置文件
  2. 重启sshd服务
$ sudo /sbin/service sshd restart 

导入公钥到服务器认证文件及修改权限

  1. 将本机公钥导入服务器
> ssh-copy-id <Users>@host
  1. 这时会提示输入目标服务器密码,正确输入即可
  2. 修改服务器相关文件及目录的权限
$ sudo chmod 700 ~/.ssh 

$ sudo chmod 600 ~/.ssh/authorized_keys
  1. 测试是否成功
> ssh '<Users>@host'

将服务器添加至 iterm2 列表

  1. 打开 iterm2
  2. Command + P 唤醒 Profiles
  3. 点击 Edit Profiles
  4. 点击左下角 + ,根据个人喜好填写好 Name 字段,并在 Command 字段中输入: ssh '@host'
  5. 最后通过 Command + shift + O 打开搜索框输入写好的 Name 即可快速访问

Enjoy it!