前面两节
linux远程管理的屠龙刀和
linux远程管理的屠龙刀(二),咱们提到了许多SecureCRT的特性和小技巧,相信你已经充分运用.这里我只想说,那些东西只是一些提高效率的基础性的东西.今天和大家分享一些SecureCRT的高级特性,相信它会让你的管理工作如虎添翼.
在SecureCRT中使用key.
在SecureCRT中使用key的好处多多,省去了输入密码的麻烦,更高的安全级别和安全机制等.所以建议大家安装完linux系统以后,先把自己的key传上去.完了把使用密码登陆禁用.这样远程登陆就只能使用key.就算root的用户名和密码丢失怎么样?
key的生成
选择"工具"->"创建公钥":
![](https://i-blog.csdnimg.cn/blog_migrate/9a9136f533087c4b3c6d738bf202096a.png)
这样就打开了"私钥生成向导",直接下一步:
![](https://i-blog.csdnimg.cn/blog_migrate/55997d18cb7398f2a1472549a05d4147.png)
这一步选择密钥的类型,既然dsa为大多数服务器支持,咱就用这个呗:
![](https://i-blog.csdnimg.cn/blog_migrate/2b82953d529e1e97d2971baa5aab6925.png)
通行证短语就是在使用key连接服务器时要输入的密码,这个看自己爱好,再输入一次密码可以增加安全性,这样就算key被人拿到也登陆不了服务器,但是需要你每次连接服务器的时候都输入这个密码,安全和复杂总是相依存在的,你自己权衡,这里咱就不输入了.下面这个是注释,它会保存的你的key文件里,用来区别不同的key的用途,写个简短而又能表达内容的东西即可:
![](https://i-blog.csdnimg.cn/blog_migrate/bd1bd0722c42dd8bd4e769d9e93cf8e2.png)
这个是密钥长度,越长越安全,但是也越慢,咱取中间值吧:)
![](https://i-blog.csdnimg.cn/blog_migrate/6177d81b626a199c7ed67ec2d7e4915f.png)
开始生成key了,速度太快了,就走了一个第一格,第二格,直接就最后一格了:
![](https://i-blog.csdnimg.cn/blog_migrate/4781c334094a8d6e075fa54dd723b7ff.png)
现在要保存生成的key了."标准公钥和VanDyke私钥格式"指生成的公钥格式,是标准的可以通用,但是私钥只有SecureCRT认得,而openssh密钥格式,就是openssh服务可以看懂的格式了,也是大多支持ssh远程连接的软件所兼容的格式.所以建议大家选择这个.选择一个保存位置,文件名的话,也是以方便记忆为主,没啥特别要求,这样我们就可以得到一个密钥对了:
![](https://i-blog.csdnimg.cn/blog_migrate/f61bc7017cd6f6ca53a6222907e8573d.png)
保存完key以后,问你是否把这个key加到全局公用key里.这里选择是:
![](https://i-blog.csdnimg.cn/blog_migrate/be1cb1f679895b855f48c0ea1c265059.png)
key的使用
通过"选项"->"全局选项":
![](https://i-blog.csdnimg.cn/blog_migrate/18d02ab6f589b910dabf86122ef08165.png)
找到SSH2:
![](https://i-blog.csdnimg.cn/blog_migrate/1830e7fdc6a2aed87b334bb8df1f80f6.png)
你可以看到刚才创建的密钥文件.这个地方,如果想添加或者删除通行短语,可以用那个"更改通行短语"选项哟,当然前提是你知道原来的短语:)再有就是,如果你原来生成过key,新安装了SecureCRT,可以在这里指定key哟~麻烦你,从现在开始爱惜你的key,要不你就是自找麻烦,嘿嘿.
SecureCRT是配置了,可是为啥用它连接服务器,提示key验证失败呢?因为服务器不认你的key呗.在服务器上你要使用key登陆的用户目录下,看清楚了,是你'要使用key登陆的用户',我没有说root的目录哟(当然我会放在root目录下:)).创建一个.ssh目录(权限600就可以了),然后把Rainbird.pub复制为authorized_keys,并上传到刚才创建的目录.怎么上传记得不?alt+p or rz :)
现在设置使用key登陆服务器,在已经保存的会话上打开它的属性:
![](https://i-blog.csdnimg.cn/blog_migrate/3d8c92b0cf4710c2edfe4581c8de6d35.png)
把其它的选项都去掉就可以了,只保留"公钥":
![](https://i-blog.csdnimg.cn/blog_migrate/236cd003c22cffb811e39eee2a6e51da.png)
key:会话选项->连接->SSH2
然后确定,连接,是不是不用输入密码直接连上服务器了?
服务器之间任意跳转
这种情况发现在,通过一台机器跳转连接到其它机器,被连接的这些机器之间可以通过ssh任意连接而不用输入密码.为了演示这个效果我又复制出来两个虚拟机.ip地址分别为:192.168.1.10和192.168.1.11.我们将通过1.10进行跳转并连接到1.11和1.12两台机器上,在我们没有任何操作以前,我们可以看到,11和12两台机器之间相互访问都是要输入密码的.
192.168.1.11上:
![](https://i-blog.csdnimg.cn/blog_migrate/d9224c2b559c3ed7da9bf6fdd2597308.png)
192.168.1.12上:
![](https://i-blog.csdnimg.cn/blog_migrate/2195a6491df88c8a80682059109b71b1.png)
现在最关键的操作来了:
打开1.10的会话属性:
![](https://i-blog.csdnimg.cn/blog_migrate/a06c0b4082040d05f161b8c57519315d.png)
找到"连接"->"端口转发":
![](https://i-blog.csdnimg.cn/blog_migrate/48e075896be71bd2afae3d488d28c3fb.png)
打开了"本地端口转发属性":
![](https://i-blog.csdnimg.cn/blog_migrate/91e28ffbd54f6340688592c82767ce3d.png)
其中名称就写一个容易记忆的就行了,本地那,加一个端口,所有连接本地这个端口时的数据都会被转发到ssh服务器上,也就是你现在正要连的这台机器.如果你这个数据不是想发往远程的这台机器,在远程这指定一个你想发往的机器,如果端口号不同于本地的话,再写上一个端口.现在你应该理解图里的意思了吧:)如法泡制第二台机器.保存完会话如下:
![](https://i-blog.csdnimg.cn/blog_migrate/dc5e835e89bb52fbf8d288a8953cc388.png)
到这里还没有完,确认一下,你的"连接"->"SSH2",现在使用的认证方式是"公钥":
![](https://i-blog.csdnimg.cn/blog_migrate/9baba0ed9f1b693b90a8e61e74682454.png)
还要确认一点就是确认"全局选项"->"SSH2"->"启用OpenSSH代理程序转发"是选中的:
![](https://i-blog.csdnimg.cn/blog_migrate/a80f6090b8be126a2c5309afdb5dfdd1.png)
现在确定,保存1.10的会话属性.并连接到1.10上,然后再新建立会话:
![](https://i-blog.csdnimg.cn/blog_migrate/1fc2352d9374b7146ec8f09cf0b4c42d.png)
如上图,主机名写localhost,端口写刚才指定的11,连接方式用key,然后点连接,是不是成功连接上了呢?
![](https://i-blog.csdnimg.cn/blog_migrate/cc57e6518df29863d19e3d43d025d490.png)
同样的方法连接1.12:
![](https://i-blog.csdnimg.cn/blog_migrate/40e0cf6c219b072dcc8ec99f9fed018a.png)
ok,最激动人心的时刻就要来临,这一刻,我们将一起见奇迹的出现,先在1.11上来吧:
![](https://i-blog.csdnimg.cn/blog_migrate/2ce932a900af5bb5aadd7e91f9276d08.png)
发现这个效果取不到图,只能由您自己来发现了:)
批量管理N多服务器
一直在想怎么同时在多台机器同时执行命令,不断的搜索,不断的查资料,而网上说的大多都是写脚本来控制,但是交互操作,这么不靠谱的事儿,咋能交给脚本呢?后来,在仔细研究secureCRT的时候,这个问题迎刃而解,没想踏破铁鞋无觅处,得来全不费工夫.ok,现在咱们来分享secureCRT的最后一小甜点,也是最黄最暴力的:)
选择"查看"->"交互式窗口":
![](https://i-blog.csdnimg.cn/blog_migrate/0c7f4ab94448f6d530938a2ad64a51d7.png)
你会发现,窗口的下面多了一块:
![](https://i-blog.csdnimg.cn/blog_migrate/84305afc0ae8f8c025ebf6b6d337759a.png)
没错,这一块就是交互式窗口,我们可以通过它给上面的窗口发指令(在下面那个框里,直接输入命令,然后回车就行了,遗憾的是,这里不支持tab键):
![](https://i-blog.csdnimg.cn/blog_migrate/2cfd126b3cd1d6eb34bf707d2a86f146.png)
也可以通过它给所有的机器发指令,不过这个要提前设置一下,在交互式窗口点右键->"将交互发送到所有标签":
![](https://i-blog.csdnimg.cn/blog_migrate/a38c9832a8352c365e3b61a177051479.png)
然后会提示:"<Send chat to all tabs>"这个不用解释了吧:
![](https://i-blog.csdnimg.cn/blog_migrate/5c52b3d5757b1b957fd348e33a58bcba.png)
现在再输入指令是不是同时发送到所有的标签了呢?
![](https://i-blog.csdnimg.cn/blog_migrate/5d53688a478c4a5f6f82759ea43ac6e6.png)
看到没?前面两个标签变蓝了,你知道它为什么变蓝:)
嘿嘿,好东东是分享完了,可是有句话咋说来着?亢龙有悔,下面这个乱码问题我就不知道应该怎么解决:
![](https://i-blog.csdnimg.cn/blog_migrate/e8ebbbc59472b7689221bf9d905e88ff.png)
花了两天的业余时间,最后这一篇终于要结束了,也意味着对SecureCRT的介绍,就到这里.当然,这只是告一段落,对SecureCRT的使用和探索,没有停止,再发现好的东东一定会及时分享.再有我用SecureCRT也才用了三个月,也仅仅发现了这些东西就迫不及待的和大家分享.最后透露点小消息:下一篇<<
从ssh服务谈linux服务器安全>>敬请期待!