如何用perl或shell实现用ssh的登入某台主机,详见描述

jockywin 2006-02-23 02:50:59
我现在通过SSH登到网络中的某台主机取得其相关的信息
ssh登陆的时候会要求输入登陆用户的密码。请问如何脚本实现,自动输入密码,能捕获系统弹出要求输入密码的信息吗?
当第一次建立SSH连接的时候,还会提示如下
The authenticity of host '192.168.3.14 (192.168.3.14)' can't be established.
RSA key fingerprint is b1:e8:f4:58:76:13:44:f2:78:e3:60:52:55:2a:fc:04.
Are you sure you want to continue connecting (yes/no)?
脚本中怎么判断并执行yes的操作,接着自动输入登陆的密码,
root@192.168.3.14's password:
我知道可以交换两台机器的公钥或直接拿对方的私钥,就不要输密码了,但如果机器很多就不方便了,请高手指教,有什么办法实现吗,谢谢
...全文
923 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jockywin 2006-03-03
  • 打赏
  • 举报
回复
谢谢各位,马上解帖了
shhgs 2006-02-25
  • 打赏
  • 举报
回复
expect是一个Unix的utility,
实际上是一个小的解释器,跟bc,awk, sed差不多,也可以编程
用tcl语言,不过网上资料缺缺
oreilly曾经出过一本expect的书,是作者亲自操刀,可是年代久远,距今15年了

man 一把试试,不过看懂需要英语,智商,以及无比的耐心。shhgs投降了

试试autoexpect。它会生成一个脚本,然后你在它的基础上修改,这样比较简单。÷

此外,这个问题问错地方了
这是一个ssh配置的问题,到系统管理员专栏去问

ssh的配置其实很简单

首先,永远不要把私钥放到别人的机器上,否则还要ssh干吗?

其次,先搞懂ssh的工作原理再去学怎么配置

要讲ssh的工作原理,恐怕得花我一个小时写帖子,所以这里只告诉你用~/.ssh/authorized_keys

几百个机器也不难配置
把所有的公钥搜集起来,生成一个文件
然后写一个脚本,筛出合适的公钥生成~/.ssh/authorized_keys文件,存到目标机器上

比方说,alex用一台叫shanghai的机器,bryan用一台叫beijing的机器,现在,两个用户都需要以
charles的身份使用hongkong。
此外,alex还要以dick的身份登录suzhou

alex的私钥存在shanghai,bryan的私钥存在beijing(各自的~/.ssh目录)
现在,把alex的公钥和bryan的公钥存到hongkong的~charles/.ssh/authorized_keys文件里
这两个公钥实际上就是两行文本
authorized_keys文件其实就是一个文本文件,一行一个公钥

然后把alex的公钥放到suzhou的~dick/.ssh/authorized_keys文件里

这样,alex在shanghai
exec ssh-agent $SHELL
ssh-add
以后就可以直接
ssh -l charlie hongkong
ssh -l dick suzhou



hellwolf 2006-02-25
  • 打赏
  • 举报
回复
http://search.cpan.org/~dbrobins/Net-SSH-Perl-1.29/lib/Net/SSH/Perl.pm

希望这个模块对你有用
jockywin 2006-02-23
  • 打赏
  • 举报
回复

请问xyzxyz1111(程序员的自我修养) ,expect是函数还是perl模块啊,能满足我的需求吗?我去cpan上找找看,谢谢
xyzxyz1111 2006-02-23
  • 打赏
  • 举报
回复
用expect看看,应该能做到
没有必要从头实现
jockywin 2006-02-23
  • 打赏
  • 举报
回复
各位高手大虾啊在啊,小弟在此求你们了。:)

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧