如何在 iTerm2 上管理 ssh 窗口

转载自:https://zhuanlan.zhihu.com/p/384827869

==============

 

配置登陆别名

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

ssh -p 22 root@192.168.56.200

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

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

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

cat ~/.ssh/config

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)很容易就登陆进来了 

 

配置免密登陆

使用了别名后,你不再需要去记住和输入用户名、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命令登陆,就不需要密码啦~

 

 

配置 profile

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

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

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

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

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

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

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

 

 

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

 

 

 

posted @ 2023-03-01 16:11  larybird  阅读(335)  评论(0编辑  收藏  举报