背景:做运维的如果机器都登录错误了, 那结果就不用说了。
在使用SecureCRT的时候,不用更改标签名称就可以很明了的知道自己现在的对话是在哪个机器上,可以在Linux机器做以下修改:
方法1:把下面上面的那句命令行追加到 /etc/profile
----------------------------------------------------------------
echo -ne "\e]2;${USER}@$(hostname -I | tr ' ' '\n' | grep -E '(^10\.|^172|^192)')\a"
显示效果如下:
方法2: 对方法1 进行改进, 方法1的不足是要将维护的所有机器都要修改 /etc/profile文件。
--------------------------------------------------------------------
解决办法1:机器生产后有批量脚本可以修改,但又有问题, 每个环境的机器登录方式不同有通过秘钥文件的,有通过密码的,有通过免秘钥的,就需要从中心运维机来操作,为此投入人力太不合适了。
解决办法2:SecureCRT登录所有后,发送命令到所有窗口。(不修改/etc/profile文件)
登录机器后,在SecureCRT
在窗口中输入如下命令
clear;externalip=$(timeout 5 curl -s ipecho.net/plain;echo);[ $? -ne 0 -o 'X' == "$externalip"X ] && externalip='No outside network or ACL drop';clear;echo -e "NetWork info\n--------------\n`hostname -I`";echo;echo -e "External_IP = $externalip";echo -e "UserName = `whoami` \nUserHomeDir = $HOME";echo -ne "\e]2;${USER}@$(hostname -I | tr ' ' '\n' | grep -E '(^10\.|^172|^192)' | head -n 1)\a"
显示效果:
方法3:对方法2进行改进, 方法2的不足每次都要输入一串烦人的代码
---------------------------------------------------
设置全局的Mapped Keys
Options —> Global Options —> Edit default Settings —> Terminal —> Emulation —> Mapped Keys,
按F1, send string, 输入下面的内容
1 clear;externalip=$(timeout 5 curl -s ipecho.net/plain;echo);[ $? -ne 0 -o 'X' == "$externalip"X ] && externalip='No outside network or ACL drop';clear;echo -e "NetWork info\\n--------------\\n`hostname -I`";echo;echo -e "External_IP = $externalip";echo -e "UserName = `whoami` \\nUserHomeDir = $HOME";echo -ne "\\e]2;${USER}@$(hostname -I | tr ' ' '\\n' | grep -E '(^10\\.|^172|^192)' | head -n 1)\\a"\n
重启SecureCRT
登录多台机器后,发送命令到所有窗口。
按F1, 代码自动输入,敲回车。
效果如下:
后在更新如何用SecureCRT调用Python脚本达到自动登录N台服务器的功能,同时自动修改标签。
SecureCRT 连接VirtualBox 中的Ubuntu -端口转发
用SecureCRT 实现 WIN7 与 Linux 双向通信的问题及文件互传问题解决
Ubuntu 12.04 + 虚拟机VMware 9 + Secure CRT + EditPlus 本地C++开发环境搭建
利用SecureCRT在Linux与Windows之间传输文件