使用WinSCP直接操作文件非常方便,但是如果用它来连入SSH进行指令交互就不方便了,使用XShell、SecureCRT、Putty等SSH终端软件敲指令却很不错,于是想能不能将两者结合起来使用。我平时大多数操作都是文件相关的,偶尔才需要输入指令,故计划以WinSCP为主,在WinSCP打开SSH为辅,将WinSCP与SecureCRT整合起来,实现操作文件过程中如需要进入SSH,直接调用SecureCRT进入终端。

之所以选择SecureCRT,因为XShell似乎没看到命令行调用的方式,Putty功能简单,没有SecureCRT可以将指令做成按钮的功能,所以另外两个就不考虑了。不过WinSCP是可以调用Putty的,官方文档就推荐这个方式,本文整合SecureCRT也是参考这个方法实现的,文末也附上WinSCP整合Putty的指令。

1. 效果图

首先上最后整合的效果,点击WinSCP上两个电脑的那个图标,直接启动SecureCRT进入对应的SSH界面:

WinSCP整合SecureCRT打开终端

2. 整合方法

WinSCP中点击视图——选项——集成——应用程序,在其中填入如下指令:

D:\Programming\DevOps\SecureCRT\securecrt.exe /NOMENU /NOTOOLBAR /N !N /SSH2 /L !U /P !# /PASSWORD !P !@ 

WinSCP整合SecureCRT打开终端

如上图截图中的说明,WinSCP有一些变量可以指代当前SSH连接的信息,SecureCRT支持的参数一些重要参数如下:

/N +标签名:指定显示在标签上的名字
/NOMENU :隐藏菜单栏
/NOTOOLBAR :隐藏工具栏
/SCRIPT +脚本名:运行脚本
/SSH2:使用SSH2连接主机(见举例指令,不详细说明了)

到此为止,已经可以成功调用SecureCRT了!不过若想做成我上面的效果,还需要进一步定制SecureCRT外观。

3. SecureCRT定制

1、主题VS2013黑:

WinSCP整合SecureCRT打开终端

2、选项——全局选项——常规——默认会话——编辑默认设置,按下图设置:

WinSCP整合SecureCRT打开终端

WinSCP整合SecureCRT打开终端

WinSCP整合SecureCRT打开终端

颜色我就不细标了,按个人偏好设置,如果喜欢我的配色,用取色器在上图取吧。

3、单实例运行。如果不想每次点击图标都弹出一个新的SecureCRT,那么就需要改一下SecureCRT的配置文件Global.ini,其中Single Instance项改为00000001就行,这样每次开新会话就会出现在新的标签里。

WinSCP整合SecureCRT打开终端

4. 不足之处

目前还有一个细节没想到好的实现方法,就是WinSCP中进入哪个目录后,登录SecureCRT后也直接进这个目录,使用Putty是可以的,因为Putty有个参数可以传,换成SecureCRT没有找到好的实现方法,使用SCRIPT的确可以将指令传进来,但是自己写了一下没整合成功^_^,欢迎各位网友指教,有什么好点子可以分享。

5. WinSCP整合Putty方法

最后分享一下整合Putty的方法,这个支持直接跳转到对应目录,不过Putty就不好多标签了,也不好保存指令按钮。

D:\Programming\DevOps\putty\putty.exe -t -m "%TEMP%\log_putty.txt" !`cmd.exe /c echo cd '!/' ; /bin/bash -login > "%TEMP%\log_putty.txt"`

6. 参考资料

https://forums.vandyke.com/showthread.php?t=2515

https://blog.csdn.net/tony_wong/article/details/22052571

https://blog.csdn.net/qingwuh/article/details/81350645

https://blog.csdn.net/zq710727244/article/details/53909801

文章目录