如何在 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 @   larybird  阅读(407)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 一个费力不讨好的项目,让我损失了近一半的绩效!
点击右上角即可分享
微信分享提示