xiangqiao 2020-02-02
使用WinSCP直接操作文件非常方便,但是如果用它来连入SSH进行指令交互就不方便了,使用XShell、SecureCRT、Putty等SSH终端软件敲指令却很不错,于是想能不能将两者结合起来使用。我平时大多数操作都是文件相关的,偶尔才需要输入指令,故计划以WinSCP为主,在WinSCP打开SSH为辅,将WinSCP与SecureCRT整合起来,实现操作文件过程中如需要进入SSH,直接调用SecureCRT进入终端。
之所以选择SecureCRT,因为XShell似乎没看到命令行调用的方式,Putty功能简单,没有SecureCRT可以将指令做成按钮的功能,所以另外两个就不考虑了。不过WinSCP是可以调用Putty的,官方文档就推荐这个方式,本文整合SecureCRT也是参考这个方法实现的,文末也附上WinSCP整合Putty的指令。
首先上最后整合的效果,点击WinSCP上两个电脑的那个图标,直接启动SecureCRT进入对应的SSH界面:
WinSCP中点击视图——选项——集成——应用程序,在其中填入如下指令:
D:\Programming\DevOps\SecureCRT\securecrt.exe /NOMENU /NOTOOLBAR /N !N /SSH2 /L !U /P !# /PASSWORD !P
如上图截图中的说明,WinSCP有一些变量可以指代当前SSH连接的信息,SecureCRT支持的参数一些重要参数如下:
/N +标签名:指定显示在标签上的名字 /NOMENU :隐藏菜单栏 /NOTOOLBAR :隐藏工具栏 /SCRIPT +脚本名:运行脚本 /SSH2:使用SSH2连接主机(见举例指令,不详细说明了)
到此为止,已经可以成功调用SecureCRT了!不过若想做成我上面的效果,还需要进一步定制SecureCRT外观。
1、主题VS2013黑:
2、选项——全局选项——常规——默认会话——编辑默认设置,按下图设置:
颜色我就不细标了,按个人偏好设置,如果喜欢我的配色,用取色器在上图取吧。
3、单实例运行。如果不想每次点击图标都弹出一个新的SecureCRT,那么就需要改一下SecureCRT的配置文件Global.ini,其中Single Instance项改为00000001就行,这样每次开新会话就会出现在新的标签里。
目前还有一个细节没想到好的实现方法,就是WinSCP中进入哪个目录后,登录SecureCRT后也直接进这个目录,使用Putty是可以的,因为Putty有个参数可以传,换成SecureCRT没有找到好的实现方法,使用SCRIPT的确可以将指令传进来,但是自己写了一下没整合成功^_^,欢迎各位网友指教,有什么好点子可以分享。
最后分享一下整合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"`
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