linux服务器忘记ssh密码_让linux的SSH客户端也能记住服务器的密码

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 <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脚本不对,这是第二版,放心用吧。非常感谢

阅读(4253) | 评论(7) | 转发(0) |

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值