跳至主要內容

SSH客户端真香组合之PuTTY和WinSCP

IT王小二约 1977 字

SSH客户端真香组合之PuTTY和WinSCP

作者:IT王小二

博客:https://itwxe.comopen in new window

之前一直使用 xshell + xftp 家庭版/教育版,但是 家庭版/教育版 有着窗口的限制数量,于是准备更换工具了。先后体验了 FinalShellopen in new windowMobaXtermopen in new windowterminusopen in new windowSimpleRemoteropen in new window,最终发现了真香组合 PuTTYopen in new window + WinSCPopen in new window。除了 FinalShell 闭源以外,后面几款产品都是开源产品。

一、几个工具的对比

看到推荐的比较多的有 FinalShellopen in new windowMobaXtermopen in new window,重点来说说这两个为啥被我放弃了。

1. FinalShell

一搜索 FinalShellopen in new window,第一个就是官网了,刚进入官网我还以为走错地方了,我还特意出去确认了一下,发现者真的是官网,心里面顿时...,不过不管怎么样,既然有那么多博客推荐,那么就下下来体验一下。

FinalShell 是国人基于Java开发,支持 window、mac、linux 三个平台,支持实时监控系统状态,可视化上传下载文件及文件夹,可以说对于新手极其友好。不过 FinalShell 依赖jdk 环境,作为一个 SSH客户端 需要依赖配置其他第三方环境这点差评,虽然这一点对于一个 Java开发 的码农来说是无所谓了,总体使用感觉一般,体验之后选择放弃。

优点: 1、对于新手极其友好 2、可视化上传下载文件

个人不推荐的观点: 1、闭源且安全性未知 2、不支持禁用软件自动更新,一旦新版本发布就会弹出自动更新 3、依赖jdk环境,且过于重量,不够轻量

2. MobaXterm

MobaXtermopen in new window 是仅支持window端的一款软件,功能非常强大,它提供所有重要的远程网络工具(SSH,X11,RDP,VNC,FTP,MOSH ......)和 Unix命令(bash,ls,cat,sed,grep,awk,rsync等)。使用MobaXterm工具,可以极大降低你windows系统上的软件安装数量。

这个软件体验之后本来是想作为主力 SSH 使用的,我也使用了一个多月,功能非常的强大,sftp 可以更随着命令目录显示,同样可以可视化界面来上传下载文件。但是使用了一个多月之后我放弃了,而放弃的原因不是因为过于重量,出现了一个无法忍受的问题,就是当中文输入法输入中文是光标无法对焦,且无法删除打错的拼音字母,只能强制输入到 Terminal 之后再删除,这实在无法忍受。

本来这个问题我以为是我个人的问题,后来我问了我同学,他用这个工具也有这个问题,他说就差没用到卸载了。好吧!去找找解决方案,结果发现压根每人提过这个问题,于是...我放弃了。

3. terminus、SimpleRemoter

这两个软件都在 GitHub 可以直接找到。

  • terminusopen in new window 这个软件挺漂亮,但是对于一个只想用 SSH 的用户来说太过于重量了,且不支持 sftp,遂放弃。
  • SimpleRemoteropen in new window 这个软件足够简洁、纯粹、轻量,但是由于开发时间较短且已停止更新,还有比较多的 bug,比如:对于不同分辨率的屏幕显示不够友好、MySQL下命令操作显示超出窗口大小导致无法继续输入命令等。

4. PuTTY+WinSCP

最终选定了这个组合,原因是 PuTTYopen in new window 足够轻量、简洁且开源;而 WinSCPopen in new window 同样开源,且可视化上传下载文件。这两个组合起来可以有种使用 xshell + xftp 的感觉,用了一段时间也没发现有啥问题。嗯!就两个字:真香!

这两个软件基本上打开就知道怎么用了,下面记录一些配置信息。

二、PuTTY

PuTTy 可以说除了不支持选项卡模式以外,几乎非常完美了,够简洁、够轻量、够稳定。

1. 配置窗口大小、字体

首先配置都得先加载对应服务器,例如选中后 Saved Sessions 的名称如果没有显示,那么需要 点击 Load 再开始配置,配置完之后 Save 才能生效。 如下图:

配置基础

1、Window

Columns 和 Rows 调整启动的行列数(设置之后 Terminal 窗口大小改变,不用每次都去拖拉)。

Lines of scrollback 回滚行数。建议设置的大一点。

窗口设置

2、Window -> Appearance

Font setting -> Change 调整字体。

字体设置

3、Connection -> keepalives: 60

长时间不操作断开连接,设置 keepalive 保持连接,比如设置为60秒发送一个空数据包保持连接。

keepalive

4、Connection -> Data

Auto-login username 可填写登录用户名。省去每次需要填写Username的麻烦。

默认用户名

这些配置完之后就可以,Session -> Save,配置就生效了。

2. 配色问题

PuTTY 的原生配色真是亮瞎狗眼,原生配色图片我就不放了,文件夹颜色看的巨难受,好在支持了自定义配色。

首先新建一个 .reg 文件,文件名随意,将下面的内容复制进去,修改 VM11 为你的Session Name,保存修改,然后双击运行就可以了。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\VM11]

; Default Foreground  
"Colour0"="217,216,216"  
; Default Bold Foreground  
"Colour1"="217,216,216"  
; Default Background  
"Colour2"="28,28,28"  
; Default Background  
"Colour3"="28,63,149"  
; Cursor Text  
"Colour4"="28,28,28"  
; Cursor Color  
"Colour5"="231,231,232"  
; ANSI Black  
"Colour6"="115,113,113"  
; ANSI Black Bold  
"Colour7"="115,113,113"  
; ANSI Red  
"Colour8"="251,38,8"  
; ANSI Red Bold  
"Colour9"="251,38,8"  
; ANSI Green  
"Colour10"="167,226,46"  
; ANSI Green Bold  
"Colour11"="167,226,46"  
; ANSI Yellow  
"Colour12"="102,217,238"  
; ANSI Yellow Bold  
"Colour13"="102,217,238"  
; ANSI Blue  
"Colour14"="0,157,220"  
; ANSI Blue Bold  
"Colour15"="0,157,220"  
; ANSI Magenta  
"Colour16"="255,85,255"  
; ANSI Magenta Bold  
"Colour17"="255,85,255"  
; ANSI Cyan  
"Colour18"="255,210,4"  
; ANSI Cyan Bold  
"Colour19"="255,210,4"  
; ANSI White  
"Colour20"="217,216,216"  
; ANSI White Bold  
"Colour21"="255,255,255"  

再次打开 VM11 看看效果,效果如下。

配色效果图

3. 使用密钥登录

PuTTY 出于安全性考虑不支持保存密码登录,那为了不输入冗长的密码,当然使用密钥登录喽,首先使用 PuTTYgen 再 window 上生成公钥和私钥,PuTTYgen 在 PuTTY 的安装目录下。

1、点击 Genterate 生成密钥,选择算法默认 RSA 就可以了,至于各个算法有啥区别就不罗嗦了,生成的时候再进度条下方空白处随便晃几下,产生随机性的同时加快生成速度。

密钥开始生成

密钥生成中

2、密钥生成后保存复制公钥及保存私钥。

密钥生成完成

公钥保存在服务器,连接远程主机,vim ~/.ssh/authorized_keys,将公钥复制进该文件,保存退出。

为了文件的安全性,设置验证文件只读,chmod 400 ~/.ssh/authorized_keys

3、利用保存的私钥登录

首先你得通过 Connection -> Data 设置默认登录用户名。

默认用户名

然后点击 SSH -> Auth -> Browse,选择保存的私钥位置。

选择私钥

最关键的一步,一定不要忘了保存,特别是如果没有显示 HostName 和 Saved Sessions 一定要点击 load,再点击保存,不然设置不生效。

保存设置

保存好之后就可以看看是否可以正常使用密钥登录了。

三、WinSCP

至于 WinSCP 默认支持中文的,配置也很简单,基本看到了中文就会用了,放一个图例:

WinSCP

拖拽即可上传,这是单栏模式,也可以设置成类似 xftp 的双栏模式。

单栏WinSCP