如何优雅的管理你的SSH连接

 阅读约 5 分钟

30秒读完版:

  • 1、配置 ~/.ssh/config 文件
Host aws
HostName 54.183.231.30
User ubuntu
IdentityFile /mnt/c/Users/yunwei724/OneDrive/Conf/aws.key
  • 2、ssh-copy-id 免密登录(如果你用的是密码登录)
  • 3、使用Tmux (终端神器)

有兴趣继续往下读

如果你有很多的服务器需要连接,想必你一定在通过XShell、Putty、SecurCRT等这样的工具在管理你的连接(当然这里只说了Windows平台)。你的连接可能长这个样子:
01.png

如果你的服务器非常多,那这里的连接会多得不堪入目,鼠标操作会非常累!继续往下读,变成键盘流。

我这里用的是WSL(之前写过一篇)直接在子系统配置ssh配置,文件路径 ~/.ssh/config ,如果该文件不存在,你可以创建一个,格式如下

vim /root/.ssh/config 
Host jenkins 
HostName 192.168.1.200 
Port 3738 
User root 
IdentityFile /mnt/c/Users/yunwei724/OneDrive/Conf/your.key Host ngx 
HostName 192.168.1.201 
User root

配置解读

Host 服务器的别名,这里我取名 jenkins,你可以配置多个如 Host jk jenkins 都可以
HostName 配置你服务器的ip或相应主机名
Port  端口 默认22,默认22可以不用配置
User 配置连接的用户
IdentityFile 配置私钥路径,如果你使用的是密码请按如下配置免密
ssh-copy-id jenkins

到这里,ssh config就配置完了。你直接可以使用 ssh ngx 这样的方式连接目标主机了。并不需要你去配置你的hosts文件。
建议你规范你的命名规则,方便使用shell 的自动补全功能,自动补全是这样用的:
输入你的命令如ssh,再按2下Tab,这时候就会自动补全参数(自动补全请安装 yum install bash-completion bash-completion-extras ,如果安装后无法正常使用,重新登录试试)
02.gif

到这里,你可能会问我用xshell这样的工具,可以同时连接多个会话,你这个不太方便吧?

这时候就不得不推荐一个终端神器Tmux。

安装

# Ubuntu 或 Debian
$ sudo apt-get install tmux

# CentOS 或 Fedora
$ sudo yum install tmux

# Mac
$ brew install tmux

输入tmux 回车就进入tmux的终端了,此时可以直接使用ssh xxx连接目标服务器了。如下:
03.gif

如果要再新建一个呢?

先按下 crtl+b再按d 就退出了tmux终端,你再输入tmux 回车就会开启一个新的tmux终端,在这里你又可以新开ssh xxx连接了,此时你有2个连接了,怎么切换呢?按下crtl+b,再按下s ,用上下键就可以切换了。效果如下
04.gif

你还可以分割窗口,可以实现如下效果(之前说的crtl+b是前缀键,要实现多窗口 按下前缀键+% 这样就左右分离窗口了,前缀+左右方向键就可以切换)

clipboard.png

详细tmux的教程可以参考
http://www.ruanyifeng.com/blog/2019/10/tmux.html

如果您觉得不错,欢迎关注运维724公众号
qrcode_for_gh_82559cf3d88a_258.jpg

阅读 89更新于 2019-12-04

推荐阅读
目录