iTerm2 上管理 ssh 窗口

作者: 王炳明 分类: 软件大杂烩 发布时间: 2021-03-05 09:14 热度:128

iTerm2 上管理 ssh 窗口

配置登陆别名

在每一次登陆远程服务器的时候,往往都需要输入超长一段命令,要指定用户名、 ip及端口

$ ssh -p 22 root@192.168.56.200

如果要频繁的切换登陆,使用这种原始的方式,真的会让人崩溃。

其实你可以将上面那些信息都写到 ssh 的配置文件中

下面是我的配置文件,记录了三台服务器

$ cat ~/.ssh/config
Host master
  HostName 192.168.56.200
  User root
  Port 22

Host node1
  HostName 192.168.56.201
  User root
  Port 22

Host node2
  HostName 192.168.56.202
  User root
  Port 22

有了这个配置后,我就可以使用别名(master)很容易就登陆进来了

iTerm2 上管理 ssh 窗口插图

配置免密登陆

使用了别名后,你不再需要去记住和输入用户名、ip、端口了,但还是照常要输入密码

为了追求极致的用户体验,我们还想把这个密码给省掉,方法也很简单。

在 iTerm2 中使用 如下命令生成密码对,一路回车即可

$ ssh-keygen

完成之后,在你的 ~/.ssh/ 目录下就会多出两个文件,带 pub公钥,另外一个是私钥

$ ll ~/.ssh/
-rw-------  1 MING  staff  1675  3  4 23:11 id_rsa
-rw-r--r--  1 MING  staff   396  3  4 23:11 id_rsa.pub

然后将这个公钥使用下面这个目录直接拷贝到远程服务器上,这个命令还是很方便的

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.56.200

如果不想使用 ssh-copy-id,也可以手动来实现,这时候就比较复杂啦,这里也写一下

  1. 进入服务端上的家目录下的 .ssh 目录下(如果不存在,则创建一个,并确保权限为 700),查看有没有 authorized_keys 文件,如果没有则创建一个,并确保权限为 600
  2. 将客户端的公钥内容拷贝并追加到服务端的 authorized_keys 中。

再使用ssh命令登陆,就不需要密码啦~

iTerm2 上管理 ssh 窗口插图(1)

配置 profile

通过上面两个步骤,你登陆服务器已经变得非常便利了,但仍旧有几点可以改进的

第一点:无法通过窗口来管理 ssh 会话。

你想啊,我每次想要在一个新的标签页打开一个 ssh 会话,就要先 ⌘ T 新建一个标签页,然后再使用 ssh 命令去登陆。

第二点:登陆频率少的机器记不得别名。

有一些机器可能几个月才登陆一次,时间这么长,别名肯定忘了,每次都要去 ~/.ssh/config 去查看下别名再输入,就很蛋疼了。

我这边推荐一个方法,来解决这两个痛点。

打开 iTerm2 的偏好设置,点一下 Profiles,然后参考一下我的配置,为两个机器设置一个 Profiles

iTerm2 上管理 ssh 窗口插图(2)

设置完后,以后想要登陆,只要使用快捷键 ⌘ O 就可以打开 Profiles,这时候选择就行啦

iTerm2 上管理 ssh 窗口插图(3)

weixin

文章有帮助,请作者喝杯咖啡?

发表评论

邮箱地址不会被公开。 必填项已用*标注