Chinaunix

标题: ssh自动远程连接 [打印本页]

作者: yu330    时间: 2008-08-06 17:15
标题: ssh自动远程连接
功能:
    用脚本实现自动登录远程主机执行相应的命令。
#!/bin/bash
for f in /aa/bb/
  do
    cc=`cat $f`
    ssh  -l root $cc
    ls -l /home
  done

说明:
   在/aa/bb目录下有几百个文件,文件里记录的都是IP地址。


问题:
   1、提示输入密码这个步骤已解决,但是还是会提示
      The authenticity of host '10.1.1.1(10.1.1.1)' can't be established.
         RSA key fingerprint is e6:d8:bd:42:08:ff:fc:07:cb:62:8c:0a:41:81:a2:c0.
         Are you sure you want to continue connecting (yes/no)?
         这个信息,有什么办法可以把默认值改成yes或者去掉。
   2、ls -l /home这条命令为什么不在远程主机执行?
   3、当连接远程主机IP地址的时候,如果遇到连接不上的机子,怎么处理?有没有timeout()函数来设置超时时间。


环境:
    fc4 as3
作者: leetaedong    时间: 2008-08-06 17:17
这个好像是需要将公钥 放到服务器那边。
作者: 无声无息    时间: 2008-08-06 17:24
1、man ssh
-o 看看这个-o StrictHostKeyChecking

2、因为你在本地

3、还是看看-o选项吧
作者: clyet    时间: 2008-08-06 17:27
输入那个yes就是要把公钥保存到本地,有没有默认保存的设置还真不知道
问题2要命令放到ssh后面拉,像这样:ssh root@ip "ls -l /home"
作者: wendaozhe    时间: 2008-08-06 17:28
第一个问题:
1、把公钥copy到远程服务器
2、eval `ssh-agent`;ssh-add ~/.ssh/id_rsa或考虑keychain
第二个问题:
你在当前shell里执行的ls,怎么会显示远程服务器的结果?
作者: 无声无息    时间: 2008-08-06 17:31
标题: 回复 #5 wendaozhe 的帖子
ssh登陆需要copy公钥的远程服务器?

远程服务器没有公钥怎么登陆?当然说key验证

ls弄错了吧
作者: yu330    时间: 2008-08-06 17:33
第1个问题,已经把公钥copy到远程主机上了,但还是提示如上信息。
第2个问题,已经在远程主机上了,加了""还是不行。
作者: wendaozhe    时间: 2008-08-06 17:34
原帖由 无声无息 于 2008-8-6 17:31 发表
ssh登陆需要copy公钥的远程服务器?

远程服务器没有公钥怎么登陆?当然说key验证

ls弄错了吧

俺说的是用rsa、dsa认证的那种,不是默认的那种!
作者: wendaozhe    时间: 2008-08-06 17:42
原帖由 yu330 于 2008-8-6 17:33 发表
第1个问题,已经把公钥copy到远程主机上了,但还是提示如上信息。
第2个问题,已经在远程主机上了,加了""还是不行。

有提示是因为要往 known_hosts里写东西,第一次吗!
你可以用RSA或DSA认证啊
我建议lz好好看看openssh的教程吧,里边都有的!
作者: xuxingyu    时间: 2008-08-06 17:47
expect




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2