免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1189 | 回复: 0
打印 上一主题 下一主题

让linux的SSH客户端也能记住服务器的密码 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-01 10:37 |只看该作者 |倒序浏览

                                                CU上一位网友的问题如下:
        以前一直用windows,最近工作原因换Ubuntu了,但是windows下的SSH客户端(我用的是Netsarang公司的 Xshell,Xftp,Xmanager),linux没有相应版本,尝试了下putty,觉得很不好用,最重要的是要保存10多个服务器的密码。说明一下,密码是系统产生的随机长串,无法记忆的,公司的运维统一管理的,所以别跟我说什么更换成key文件之类的,我就要找个Linux下可以保存密码的 SSH客户端,命令行还是图形化界面都无所谓,谢谢大家!
        我第一次看到问题时还在纳闷,Linux自带ssh命令,还需要ssh客户端干什?后来一看,这位朋友是想记住服务器的密码。
        懒人!!
        懒人有懒人的福,解决方案还是有的。
        我的解决方案如下:
        1. 先安装sshpass
        下载:wget http://nchc.dl.sourceforge.net/sourceforge/sshpass/sshpass-1.04.tar.gz
        安装:
        tar -zxvf sshpass-1.04.tar.gz
        cd sshpass-1.04
        ./configure
        make && make install
        
        2. 再写一个管理sshpass的BASH脚本.
        脚本文件名为:/opt/program/bash/test.sh
        脚本内容如下:
                #!/bin/bash
                cat <<MENU
                        1) localhost
                        2) 192.168.100.100
                        3) 加上你的主机
                MENU
                echo -n "Your choose:"
                read host
                case "$host" in
                        1)
                                exec /usr/local/bin/sshpass -p 123456(这是我机器的密码) ssh huabo@localhost
                                ;;
                        2)
                                exec /usr/local/bin/sshpass -p 123456 ssh huabo@192.168.100.100
                                ;;
                        3)
                                你的登录命令
                                ;;
                        *)
                                echo "Error, No host"
                                ;;
                esac
        3.测试一下
                [root@server bash]# ./test.sh
                        1) localhost
                        2) 192.168.100.100
                Your choose:2
                Last login: Mon Jun 29 02:34:49 2009 from 192.168.100.100
                [huabo@server ~]$ ls
                opera.exe  zabbix-1.6.4  zabbix-1.6.4.tar.gz
                [huabo@server ~]$
        测试成功!你只需把密码写到脚本里面,执行此脚本,选择相应的主机就行了.
        此脚本还可优化一下,搞成:test.sh localhost这种形式更方便。
        此外还要注意一点,你需要先手动登录一次,因为第一次登录时会提示:
                Are you sure you want to continue connecting (yes/no)?
        (脚本没考虑这点)
        
        PS:你自己把密码存脚本里的哈,出了问题不要怪我.
        (先前的expect脚本不对,这是第二版,放心用吧。非常感谢
seaquester
,推荐一下他的BASH脚本http://blog.chinaunix.net/u2/73823/showart.php?id=1982819)
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/94705/showart_1982518.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP