使用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界面:
2. 整合方法
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外觀。
3. SecureCRT定制
1、主題VS2013黑:
2、選項——全局選項——常規——默認會話——編輯默認設置,按下圖設置:
顏色我就不細標了,按個人偏好設置,如果喜歡我的配色,用取色器在上圖取吧。
3、單實例運行。如果不想每次點擊圖標都彈出一個新的SecureCRT,那么就需要改一下SecureCRT的配置文件Global.ini,其中Single Instance項改為00000001就行,這樣每次開新會話就會出現在新的標簽里。
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