SSH客户端真香组合之PuTTY和WinSCP
SSH客户端真香组合之PuTTY和WinSCP
作者:IT王小二
之前一直使用 xshell + xftp 家庭版/教育版,但是 家庭版/教育版 有着窗口的限制数量,于是准备更换工具了。先后体验了 FinalShell、MobaXterm、terminus、SimpleRemoter,最终发现了真香组合 PuTTY + WinSCP。除了 FinalShell 闭源以外,后面几款产品都是开源产品。
一、几个工具的对比
看到推荐的比较多的有 FinalShell、MobaXterm,重点来说说这两个为啥被我放弃了。
1. FinalShell
一搜索 FinalShell,第一个就是官网了,刚进入官网我还以为走错地方了,我还特意出去确认了一下,发现者真的是官网,心里面顿时...,不过不管怎么样,既然有那么多博客推荐,那么就下下来体验一下。
FinalShell 是国人基于Java开发,支持 window、mac、linux 三个平台,支持实时监控系统状态,可视化上传下载文件及文件夹,可以说对于新手极其友好。不过 FinalShell 依赖jdk 环境,作为一个 SSH客户端 需要依赖配置其他第三方环境这点差评,虽然这一点对于一个 Java开发 的码农来说是无所谓了,总体使用感觉一般,体验之后选择放弃。
优点: 1、对于新手极其友好 2、可视化上传下载文件
个人不推荐的观点: 1、闭源且安全性未知 2、不支持禁用软件自动更新,一旦新版本发布就会弹出自动更新 3、依赖jdk环境,且过于重量,不够轻量
2. MobaXterm
MobaXterm 是仅支持window端的一款软件,功能非常强大,它提供所有重要的远程网络工具(SSH,X11,RDP,VNC,FTP,MOSH ......)和 Unix命令(bash,ls,cat,sed,grep,awk,rsync等)。使用MobaXterm工具,可以极大降低你windows系统上的软件安装数量。
这个软件体验之后本来是想作为主力 SSH 使用的,我也使用了一个多月,功能非常的强大,sftp 可以更随着命令目录显示,同样可以可视化界面来上传下载文件。但是使用了一个多月之后我放弃了,而放弃的原因不是因为过于重量,出现了一个无法忍受的问题,就是当中文输入法输入中文是光标无法对焦,且无法删除打错的拼音字母,只能强制输入到 Terminal 之后再删除,这实在无法忍受。
本来这个问题我以为是我个人的问题,后来我问了我同学,他用这个工具也有这个问题,他说就差没用到卸载了。好吧!去找找解决方案,结果发现压根每人提过这个问题,于是...我放弃了。
3. terminus、SimpleRemoter
这两个软件都在 GitHub 可以直接找到。
- terminus 这个软件挺漂亮,但是对于一个只想用 SSH 的用户来说太过于重量了,且不支持 sftp,遂放弃。
- SimpleRemoter 这个软件足够简洁、纯粹、轻量,但是由于开发时间较短且已停止更新,还有比较多的 bug,比如:对于不同分辨率的屏幕显示不够友好、MySQL下命令操作显示超出窗口大小导致无法继续输入命令等。
4. PuTTY+WinSCP
最终选定了这个组合,原因是 PuTTY 足够轻量、简洁且开源;而 WinSCP 同样开源,且可视化上传下载文件。这两个组合起来可以有种使用 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秒发送一个空数据包保持连接。
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 默认支持中文的,配置也很简单,基本看到了中文就会用了,放一个图例:
拖拽即可上传,这是单栏模式,也可以设置成类似 xftp 的双栏模式。