使用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

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

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

WinSCP整合SecureCRT打开终端的更多相关文章

  1. su认证失败&文件夹里打开终端的方法&atom安装

    很久没用笔记本上的ubuntu,用不顺手,比在公司调教了半年多的电脑差远了.一步一步来.先解决最不顺手的三件事 1.su认证失败. 新安装的ubuntu系统是无法切换到root账户的,得做一番修改 s ...

  2. Ubuntu打开终端的方法三种

    这个不应该称得上是一个问题,但是,发现对于新手,确实是个难题因为少有人能够提到这一点,基本都是上来就直接讲用到的命令.我开始的时候也曾经被这个问题困扰着,后来,搜了一会儿才弄明白.1.在菜单内的附件上 ...

  3. Ubuntu中如何打开终端terminal

    法一 先按住Alt,然后再按F2,出来一个运行框,在里面输入gnome-terminal即可 [编辑]法二 如果想从右键菜单中打开终端,需要安装一个软件: sudoapt-get install na ...

  4. ubuntu下打开终端插件

    一个 nautilus 插件,用于在任意目录中打开终端 nautilus-open-terminal

  5. nautilus-open-terminal很有用的插件--鼠标右键打开终端

    1.1fedora安装# yum -y install nautilus-open-terminal安装nautilus-open-terminal,注销下X桌面即可ubuntu安装#sudo apt ...

  6. Ubuntu打开终端和设置root密码(转载)

    From:http://blog.csdn.net/xhhjin/article/details/6328752 http://www.linuxsir.org/bbs/thread318516.ht ...

  7. Ubuntu 怎么在右键添加打开终端

    方法一: 搜索nautilus-open-terminal安装 命令行:sudo apt-get install nautilus-open-terminal        (如果提示为找的什么的就s ...

  8. nautilus-open-terminal右键随处打开终端

    Nautilus-Open-Terminal : 可随处打开终端的 Nautilus 插件 nautilus-open-terminal-0.17-4.el6.x86_64 是一个让你随处都可以打开终 ...

  9. CentOS桌面环境如何打开终端以及如何将终端加入右键

    安装完CentOS的桌面环境后,默认在桌面以及右键是没有打开终端选项的,要想打开终端,可以由以下步骤: 在左上角菜单[Applications]--->[System Tools]---> ...

随机推荐

  1. UTF-8、UTF-16、UTF-32编码的相互转换(不使用现成的函数)

    最近在考虑写一个可以跨平台的通用字符串类,首先需要搞定的就是编码转换问题. vs默认保存代码文件,使用的是本地code(中文即GBK,日文即Shift-JIS),也可以使用带BOM的UTF-8.gcc ...

  2. RobotFramework+Appium 为了兼容iOS12,升级至Xcode10后,WebDriverAgent编译不通过:Undefind symbols for architecture x86_64

    报错信息如下: Undefined symbols for architecture arm64: "_OBJC_CLASS_$_XCElementSnapshot", refer ...

  3. 聊聊多线程那一些事儿 之 五 async.await深度剖析

     hello task,咱们又见面啦!!是不是觉得很熟读的开场白,哈哈你哟这感觉那就对了,说明你已经阅读过了我总结的前面4篇关于task的文章,谢谢支持!感觉不熟悉的也没有关系,在文章末尾我会列出前四 ...

  4. 通用高效的数据修复方法:Row level repair

    导读:随着大数据的进一步发展,NoSQL 数据库系统迅速发展并得到了广泛的应用.其中,Apache Cassandra 是最广泛使用的数据库之一.对于 Cassandra 的优化是大家研究的热点,而 ...

  5. IDEA 连接Docker 并部署

    安装docker 之前先更新系统: yum update 安装docker: yum install docker 启动docker: systemctl start docker docker 远程 ...

  6. 「CodeForces 546B」Soldier and Badges 解题报告

    CF546B Soldier and Badges 题意翻译 给 n 个数,每次操作可以将一个数 +1,要使这 n 个数都不相同, 求最少要加多少? \(1 \le n \le 3000\) 感谢@凉 ...

  7. gulp的简介以及使用方法

    环境介绍: pro环境:生产环境,面向外部用户的环境,连接上互联网即可访问的正式环境. pre环境:灰度环境,外部用户可以访问,但是服务器配置相对低,其它和生产一样. test环境:测试环境,外部用户 ...

  8. kettle高级教程-自动同步

    KETTLE4个工作中有用的复杂实例--2.两表数据比较,比较后自动同步(部门.单位数据同步) 二.两表数据比较核对,核对后自动同步至目标数据表 目标:比较t_bm表的数据和t_bm_target表的 ...

  9. Session是怎么实现的?存储在哪里?

    为什么有session? 首先大家知道,http协议是无状态的,即你连续访问某个网页100次和访问1次对服务器来说是没有区别对待的,因为它记不住你. 那么,在一些场合,确实需要服务器记住当前用户怎么办 ...

  10. spring boot事务管理

    spring boot集成事务十分的简单,只需要在启动类上面增加@EnableTransactionManagement注解,然后在需要实现事务的方法上添加@Transactional注解就可以了.下 ...