免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: zeeler
打印 上一主题 下一主题

请高人推荐一个Linux下的SSH客户端,可以保存密码的 [复制链接]

论坛徽章:
1
2015年亚洲杯之韩国
日期:2015-04-24 09:07:02
51 [报告]
发表于 2009-07-02 09:34 |只看该作者
应该是有的!

论坛徽章:
0
52 [报告]
发表于 2009-07-02 09:45 |只看该作者
#!/bin/sh
#AUTHOR: bones7456 (bones7456@gmail.com)
#VERSION: 20080627

PASSFILE=".pass"

if [[ x`which expect` = x"" ]];then
        echo "么装expect啊...先给装上吧..."
        exit 1
fi
if [[ x`which luit` = x"" ]];then
        echo "么装luit啊...先给装上吧..."
        exit 2
fi
if [[ ! -f $PASSFILE || ! -r $PASSFILE ]];then
        echo "密码文件不存在或不可读"
        exit 3
fi
PASSFILEAccess=`stat "$PASSFILE" | grep Access | head -1 | awk -F "[\(/]+" '{print $2}'`
if [[ $PASSFILEAccess -gt 0600 ]];then
        echo "密码文件($PASSFILEAccess)权限太大了,为了安全起见,请设置为600"
        exit 4
fi
if [[ $# -eq 0 ]];then
        echo "Usage: $0 [-l]|[-e]|hostname1 hostname2 ..."
        exit 5
fi
if [[ $1 = "-l" ]];then
        cat $PASSFILE
        exit 0
fi
if [[ $1 = "-e" ]];then
        gedit $PASSFILE &
        exit 0
fi

HOSTS=""
EXP=""
LINEPREFIX="name"
NL="
"
USUALNAME=`grep usualName $PASSFILE | awk '{print $2}'`
USUALNAMEPSW=`grep usualPSW $PASSFILE | awk '{print $2}'`

until [[ -z "$1" ]]
do
        THENAMEANDHOST=`grep "${LINEPREFIX}=$1" $PASSFILE | awk '{print $2}'`
        if [[ "x$THENAMEANDHOST" = "x" ]];then
                echo "没有找到名称为 $1 的服务器..."
                exit 10
        fi
        TMP=`echo "$THENAMEANDHOST" | wc -l`
        if [[ $TMP -gt 1 ]];then
                echo "找到多个名称匹配 $1 的服务器..."
                echo "`grep "${LINEPREFIX}=$1" $PASSFILE`"
                exit 11
        fi
        THENAME=`grep "${LINEPREFIX}=$1" $PASSFILE | awk '{print $2}' | awk -F "@" '{print $1}'`
        THEPSW=`grep "${LINEPREFIX}=$1" $PASSFILE | awk '{print $3}'`
        CODING=`grep "${LINEPREFIX}=$1" $PASSFILE | awk '{print $4}'`
        HOSTS+=" ssh -1 -c des -t "$THENAMEANDHOST
        if [[ "x$THEPSW" = "x" || "$THEPSW" = "|" && "$THENAME" = "$USUALNAME" ]] ; then
                EXP+="expect password"$NL"send \""$USUALNAMEPSW"\n\""$NL
        else
                EXP+="expect password"$NL"send \""$THEPSW"\n\""$NL
        fi
        LINEPREFIX+="-$1"
        shift
done
if [[ "x$CODING" = "x" ]];then
        CODING=`grep usualCODING $PASSFILE | awk '{print $2}'`
fi
if [[ "x$CODING" = "x" ]];then
        echo "$PASSFILE 中没有配置 usualCODING,使用utf8."
        CODING="utf8"
fi

TT="expect -exact _"$NL"send super\r"$NL"expect -exact Password"$NL"send supeR-2009@nm*gs\r"$NL

CMD="set timeout 30"$NL"spawn luit -encoding ""$CODING""$HOSTS"$NL"$EXP""$TT""$NL""interact"$NL
echo "$CMD"
echo "======================"
expect -c "$CMD"

论坛徽章:
0
53 [报告]
发表于 2009-07-02 09:59 |只看该作者
如果是单位用机可以使用securecrt把相应的环境配置好很好用,如果是外出调机建议使用putty配合winscp

论坛徽章:
0
54 [报告]
发表于 2009-07-02 12:06 |只看该作者
原帖由 zuoxianzhu 于 2009-7-1 09:43 发表
呵呵,Linux当中有这个工具,图形界面的,便于管理,我现在用的是Gnome-RDP,这个软件可以对RDP、VNC、SSH进行统一管理,便于你远程连接,如果你用的是ubuntu,那就sudo apt-get install gnome-rdp就可以了,我 ...


不知道RH下有没有

论坛徽章:
0
55 [报告]
发表于 2009-07-03 12:34 |只看该作者

回复 #54 wheel 的帖子

有的,不过要看你的RH版本了,如果找现成的rpm包,那你就到rpmfind.net上搜一下,但是我给人还是建议你到http://sourceforge.net/projects/gnome-rdp/ 下载源代码,编译安装一下。这样就足够了

论坛徽章:
0
56 [报告]
发表于 2009-07-03 13:59 |只看该作者
可以用SSH的公钥认证啊, 在本机上生成一个公钥、私钥,再把公钥传到服务器上,以后在Linux 下就用SSH 直接登录,不用输密码

论坛徽章:
0
57 [报告]
发表于 2009-07-03 16:55 |只看该作者
原帖由 zeeler 于 2009-6-30 07:28 发表
KeePass只是保存密码的工具,而且没Linux版本,根本不着边。

明明有啊,只是名字改了,叫 KeepassX。但是还不支持CLI下的 OpenSSH。如果有GUI的客户端,那就肯定能支持了。
http://www.keepassx.org/

论坛徽章:
1
辰龙
日期:2014-05-15 19:37:15
58 [报告]
发表于 2009-07-06 11:25 |只看该作者
Linux下的SSH保存密码的客户端,替代SecureCRT的东西

linux常用技巧 Jul 6th, 2009 admin Edit

转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]

本文链接: http://www.php-oa.com/2009/07/06/gnome-rdp.html

大家用linux做客户端,如果要管理服务器,都有这个问题,就是用习惯了SecureCRT之类的软件后,感觉linux下的桌面的ssh软件不能管理主机用户密码,很不方便.

为了解决这个问题,以前我写过一个autossh来管理这些,前几天在CU的论坛上看到这样一个帖子 http://linux.chinaunix.net/bbs/thread-1120485-1-1.html ,题目为 <<[Ubuntu] 请高人推荐一个Linux下的SSH客户端,可以保存密码的 >>.这个帖子,认识看了一下,发现了一个叫Gnome-rdp的软件,蛮不错的,可以记录ssh,vnc,windows的主机信息.可惜,发现不能记录ssh的用户和密码.还得自己输入.所以帖子中没有解决方法.

为了解决linux下没有好用的管理主机用户密码的软件,我在我们公司伟大的斯总的指点下,修改了一下gnome-rdp这个软件,让他可以记录ssh的用户和密码,可以很好的解决linux下主机用户密码的管理了.



相当方便吧..如果你喜欢命令行的管理软件,我以前写过一个autossh的软件,大家也可以拿来用用.

地址为   http://www.php-oa.com/2009/04/06/autossh.html

修复gnome的方法为

如果要使用修改变的gnome这个软件,需要下载它的源码,自己编.

下载后进入src这个文件.修改二个地方

第一个要修改的地方

#vim src/OptionsDialog.cs

修改成如下内容,在OptionsDialon.cs文件的276-283行之间

// SSH
                case 2:
                    this.eUser.Sensitive            = true;
                    this.ePassword.Sensitive        = true;
                    this.eDomain.Sensitive      = false;
                    this.cbSavePassword.Sensitive   = true;
                    this.cbSrvType.Sensitive        = false;
                    this.cbSavePassword.Active      = true;
                    break;



第二个需要修改的部分

#vim src/Main.cs

修改成如下内容,在Main.cs文件的500-512行之间.还需要安装一个sshpass的这个软件

if (config.Protocol == 2)
            {
                par += "–command=\"sshpass -p ‘"+ config.Password +"’ ssh";
                if (config.TerminalSize == 1)
                {
                    par = " –full-screen –command=\"sshpass -p ‘"+ config.Password +"’ ssh";
                }
                if (config.User.Length > 0)
                {
                    par += " -l " + config.User + "";
                }

                par += " -e none -t " + config.Computer + "\"";
            }

[ 本帖最后由 iakuf 于 2009-7-6 11:28 编辑 ]

ssh.jpg (16.05 KB, 下载次数: 29)

ssh.jpg

ssh2.jpg (24.91 KB, 下载次数: 22)

ssh2.jpg

ssh3.jpg (39.55 KB, 下载次数: 22)

ssh3.jpg

论坛徽章:
0
59 [报告]
发表于 2009-07-07 10:48 |只看该作者
putty 命令行支持密码保存啊。写个脚本调用putty就行啦。
putty  root@192.168.1.33 -pw "password"

我经常这样用的。把上面内存保存为33.bat,加到path,在运行那输入33就能直接登陆

论坛徽章:
0
60 [报告]
发表于 2009-07-07 13:53 |只看该作者
yes,putty 也支持!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP