sssh - 快速 ssh 登陆脚本
此 脚本对于那些需要经常 ssh 登陆远程服务器的朋友应该有点用处。尤其是需要中转服务器 ssh 2 次以上的。脚本功能包括:将服务器 IP 和密码保存于文本文件中 (明文保存,安全性要自己保证),方便登陆,支持多次 ssh 中转,支持服务器编码自动转换,支持某个用户名的通用密码。
使用方法:
最好将脚本保存在 PATH 变量包含的路径下,建议保存于 ~/bin 并确保此目录在 PATH 中。
编写 ~/.pass 文件,并执行 chmod 600 ~/.pass
安装 expect 包。
.pass 文件的写法:
- 最简单的,可以在文件中写下如下一行:
name=hostA usernameA@IP-A passwordA
就可以使用 sssh hostA 登陆此服务器了。
- 中转登陆:
name=hostA usernameA@IP-A passwordA
name-hostA=hostB usernameB@IP-B passwordB
执行 sssh hostA hostB 就相对于先登陆 hostA,然后在 hostA 上登陆 hostB。同理,理论上可以中转 N 次,hostA->hostB->hostC->hostD……,嘿嘿……
- 使用通用用户名的密码:
这是用于这样的例子:有 N 个服务器,都开通了一个通用用户名 (例如:view 用户,只有很低的权限),这些 view 用户的密码都是同一个,而且会定期同步修改。这种情况下,如果修改了 view 密码的话,.pass 文件就要修改 N 个密码了,为了避免这样的麻烦,可以使用通用用户名和密码功能:
usualName view
usualPSW password-of-view
name=hostA view@IP-A
name=hostB view@IP-B
name=hostC view@IP-C
这样就可以直接用 sssh hostA,sssh hostB 登陆了。可以看到,这里省略了第 3 列的密码字段。此法同样适用于多级登陆的服务器。
- 指定服务器使用的编码:
usualName view
usualPSW password-of-view
name=hostA usernameA@IP-A passwordA gbk
name=hostB view@IP-B | gbk
在某行服务器的后面 (第 4 列),加上 gbk,就可以指明该服务器使用的是 gbk,登陆了以后不会出现乱码了。如果某行使用了通用用户名和密码的话,为了不致引起混乱,密码那列需要加个 | (竖线) 占位。
- 使用通用编码:
usualCODING gbk
加上此行,对于没有指定编码的服务器,将默认使用 gbk 编码。
下载:
由于脚本贴在这里会出现半角引号变全角的状况。所以,请直接在这里下载。
[撰文/bones7456]
在 804上运行 报如下错误:
/home/joe/d/tools/bin/sssh: 10: [[: not found
/home/joe/d/tools/bin/sssh: 14: [[: not found
/home/joe/d/tools/bin/sssh: 18: [[: not found
/home/joe/d/tools/bin/sssh: 18: -r: not found
密码文件不存在或不可读
mac下测试可以的,一直想要一个这样的东西,非常感谢!
谢谢,正用得着。
joe:
第一行
#!/bin/sh
改成:
#!/bin/bash
这个shell里面编码转换用的是luit,要转换编码得安装个luit.
或者把[[换成[
-r 那个注释掉就好了,只要你保证.pass存在且可读
joe:
我也是8.04,但是装上后就马上把 /bin/sh 指向 bash 了,所以没发现你那问题,呵呵,不好意思
feiy:
貌似ubuntu里 luit 是默认安装的?没装luit的话,也会给出提示的,嘿嘿
汗,要自动登陆怎么不用公/私钥认证?安全又方便,哪用得着expect这么麻烦。
对了,请问 Toy,为何英文引号会自作主张变成中文引号?
@雪梨:不清楚,可能是 wp 的问题,我再看看。
我可以转一下吗?就是想记录一下以后用。谢谢
[...] Toy Posted in Apps, ScriptsRSSTrackback <!– google_ad_client = “pub-9432205671574187″; //LT, 300×250 google_ad_slot = [...]
@snowrui:在遵循 CC 的前提下,可自由转载,无须知会本站。
use key and ssh-agent is the best.
@toy
使用这个WP的插件, Quotmarks replacer, 能解决引号的问题.
这个插件是个中国人开发的, 下载地址如下, 我的Blog就使用了这个插件.
http://sparanoid.com/blog/quotmarks-replacer-21/
@Ai.Freedom: 感谢推荐 :)