LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: Illidan

ssh怎么才能不必手动输入密码?

[复制链接]
发表于 2006-3-15 14:41:09 | 显示全部楼层
看了chinaunix的文章,无意中发现expect可以解决这个问题,想来在linux下,只有想不到的,没有做不到的呀!懒人也能满足,呵呵!而且还美其名曰“解决shell的交互性问题”,呵呵!
回复 支持 反对

使用道具 举报

发表于 2006-3-15 19:35:23 | 显示全部楼层
给你来一段debian帮助里面的内容:

9.5.3 用更少的密码建立连接 – RSA

使用 RSAAuthentication(SSH1协议)或 PubkeyAuthentication(SSH2协议)可不必记住每个远程系统的连接密码。

在远程系统上,在 /etc/ssh/sshd_config 中分别设置“RSAAuthentication yes”或“PubkeyAuthentication yes”。

然后在本地生成验证密匙,在远程系统上安装公共密钥:

     $ ssh-keygen          # RSAAuthentication: RSA1 key for SSH1
     $ cat .ssh/identity.pub | ssh user1@remote \
             "cat - >>.ssh/authorized_keys"
     ...
     $ ssh-keygen -t rsa   # PubkeyAuthentication: RSA key for SSH2
     $ cat .ssh/id_rsa.pub | ssh user1@remote \
             "cat - >>.ssh/authorized_keys"
     ...
     $ ssh-keygen -t dsa   # PubkeyAuthentication: DSA key for SSH2
     $ cat .ssh/id_dsa.pub | ssh user1@remote \
             "cat - >>.ssh/authorized_keys"

今后可用“ssh-keygen -p”来改密码。最后记得检查一下设置,可做个连接测试,如遇问题,执行“ssh -v”。

你可以通过在 authorized_keys 里添加选项来限制主机及运行指定的命令。详情参阅 sshd(8)。

注意 SSH2 有 HostbasedAuthentication,要使它工作,必须同时在服务器端的 /etc/ssh/sshd_config 文件中和客户机端的 /etc/ssh/ssh_config 或 $HOME/.ssh/config 文件中设置 HostbasedAuthentication 为 yes。
回复 支持 反对

使用道具 举报

发表于 2006-3-17 10:33:43 | 显示全部楼层
有个命令叫yes
回复 支持 反对

使用道具 举报

发表于 2006-3-17 11:32:30 | 显示全部楼层
我的机器上没有expect这个命令,装的是redhat enterprise linux 4 U2,
这个命令还要专门下个安装包装一下吗?
回复 支持 反对

使用道具 举报

发表于 2006-3-17 15:56:51 | 显示全部楼层
在安装盘上有的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表