[原创]sssh 快速ssh登陆脚本

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

[原创]sssh 快速ssh登陆脚本

#1

帖子 bones7456 » 2008-06-29 11:28

首发和更新都在 http://li2z.cn/2008/06/29/sssh/



此脚本对于那些需要经常ssh登陆远程服务器的朋友应该有点用处.尤其是需要中转服务器ssh 2次以上的.

脚本功能:
将服务器IP和密码保存于文本文件中(明文保存,安全性要自己保证),方便登陆,支持多次ssh中转,支持服务器编码自动转换,支持某个用户名的通用密码.

使用方法:
最好将脚本保存在PATH变量包含的路径下,建议保存于 ~/bin 并确保此目录在 PATH 中.
编写 ~/.pass 文件,并执行 chmod 600 ~/.pass
安装 expect 包.

.pass文件的写法
1.最简单的,可以在文件中写下如下一行:

代码: 全选

    name=hostA usernameA@IP-A passwordA
就可以使用 sssh hostA 登陆此服务器了.
2.中转登陆:

代码: 全选

    name=hostA usernameA@IP-A passwordA
    name-hostA=hostB usernameB@IP-B passwordB
执行 sssh hostA hostB 就相对于先登陆hostA,然后在hostA上登陆hostB
同理,理论上可以中转N次,hostA->hostB->hostC->hostD…,嘿嘿…
3.使用通用用户名的密码.
这是用于这样的例子:有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列的密码字段.此法同样适用于多级登陆的服务器.
4.指定服务器使用的编码

代码: 全选

    usualName view
    usualPSW password-of-view
    name=hostA usernameA@IP-A passwordA gbk
    name=hostB view@IP-B | gbk
在某行服务器的后面(第4列),加上 gbk,就可以指明该服务器使用的是gbk,登陆了以后不会出现乱码了.
如果某行使用了通用用户名和密码的话,为了不致引起混乱,密码那列需要加个 | (竖线)占位.
5.使用通用编码

代码: 全选

    usualCODING gbk
加上此行,对于没有指定编码的服务器,将默认使用gbk编码.

下载:
可以见附件,也可以直接在这里下载.

哈哈,没想到,脚本没几行,写个说明倒是一堆了…
附件
sssh.tar.gz
super ssh
(1.07 KiB) 已下载 178 次
关注我的blog: ε==3
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#2

帖子 eexpress » 2008-06-29 14:42

这。。。。学我的命名方法了???加头尾重叠单词,就出一个软件名。

sshm源里面有的。

sshm bone
sshm yaojin
● 鸣学
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#3

帖子 bones7456 » 2008-06-29 15:03

那sshm,还不如我的脚本呢,密码都不保存的,我的还能多级登陆,还支持编码转换.
而且那sshm也就一个有用的文件,密码也保存在~/.sshm
哈哈...
关注我的blog: ε==3
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#4

帖子 eexpress » 2008-06-29 15:15

编码转换?作什么用。没用过。
我都是公钥使用的。给密码的???太bt了吧。
sshm其实就一简单的shell就实现了。这倒是。
● 鸣学
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#5

帖子 bones7456 » 2008-06-30 8:38

如果只有几台服务器,用个公钥也确实算方便的,每台服务器上放个公钥就ok了,但是如果有更多服务器,最主要是多级的,公钥就显得力不从心了.
关注我的blog: ε==3
nowhere
帖子: 31
注册时间: 2007-05-23 0:57

Re: [原创]sssh 快速ssh登陆脚本

#6

帖子 nowhere » 2009-03-17 0:57

很好用的脚本,谢谢:)
头像
木泥黑
帖子: 1339
注册时间: 2008-10-18 12:41

Re: [原创]sssh 快速ssh登陆脚本

#7

帖子 木泥黑 » 2009-11-19 9:54

收藏了
头像
Stupid kid
帖子: 416
注册时间: 2006-10-18 12:57

Re: [原创]sssh 快速ssh登陆脚本

#8

帖子 Stupid kid » 2009-11-19 12:26

老是要中转?

在第一次ssh登录的服务器上开个screen不就ok了? 我想不至于中转3~5次吧?

还是支持密钥的方式,相对安全得多
http://twitter.com/nothining
Mail: bjdfzster@gmail.com
南京的开源活动几乎是0,希望能有人组织下(也可以拉我入伙^_^)
最近在从零开始学习Linux程序设计,加油……
头像
yingfei
帖子: 273
注册时间: 2007-09-03 18:34
来自: 羊城通

Re: [原创]sssh 快速ssh登陆脚本

#9

帖子 yingfei » 2009-11-19 17:21

正合我用,收了,谢谢!
头像
yingfei
帖子: 273
注册时间: 2007-09-03 18:34
来自: 羊城通

Re: [原创]sssh 快速ssh登陆脚本

#10

帖子 yingfei » 2009-11-19 17:22

最好把多级telnet也加上去..
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

Re: [原创]sssh 快速ssh登陆脚本

#11

帖子 roylez » 2009-11-19 19:28

全部都弄公钥

ssh -t hostA ssh -t hostB ssh hostC
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
回复