怎样实现ssh登录自动输入密码阿

sh/bash/dash/ksh/zsh等Shell脚本
回复
baby
帖子: 641
注册时间: 2005-11-10 19:12

怎样实现ssh登录自动输入密码阿

#1

帖子 baby » 2011-07-05 13:50

我这里经常要用ssh登录其它电脑,帐号密码是一样的,我只需要输入主机名作为传入参数就可以自动为我完成yes,密码的输入
参考了下
viewtopic.php?f=21&t=330208&hilit=ssh+% ... 6%E7%A0%81
这个帖子,写不出来。。。唉
qifei9
帖子: 141
注册时间: 2010-06-28 19:14

Re: 怎样实现ssh登录自动输入密码阿

#2

帖子 qifei9 » 2011-07-05 13:54

#!/usr/bin/expect

set timeout 60

spawn /usr/bin/ssh -D 7070 [email protected]
#这里的 username 为你自己的用户名,yourserver.com 为你自己的服务器域名或ip

expect {
"password:" {
send "password\r"
#将第二个 password 改为你自己的密码
}
}

interact {
timeout 60 { send " "}
}
baby
帖子: 641
注册时间: 2005-11-10 19:12

Re: 怎样实现ssh登录自动输入密码阿

#3

帖子 baby » 2011-07-05 14:20

谢谢,可以登录了
怎么可以改成传入主机名作为参数阿

代码: 全选

例如我保存为 autossh.sh
执行autossh.sh  abc.com 来实现自动登录
该死,shell的语法都忘记了
baby
帖子: 641
注册时间: 2005-11-10 19:12

Re: 怎样实现ssh登录自动输入密码阿

#4

帖子 baby » 2011-07-05 14:37

谢谢二楼的兄弟,参考了另外一个帖子,弄出来了

代码: 全选

#!/usr/bin/expect -f

set timeout -1
set server  [lindex $argv 0] 
spawn ssh -l user $server
expect {
    "(yes/no)" { send "yes\r"; exp_continue }
    "assword:" { send "password\r"; }
}
expect "*Last login*" interact
头像
hubert_star
论坛版主
帖子: 5373
注册时间: 2007-10-29 22:12
系统: OSX 10.9 + Ub 1304
来自: 江苏南京

Re: 怎样实现ssh登录自动输入密码阿

#5

帖子 hubert_star » 2011-07-05 16:24

ssh支持证书登陆的啊,你把你的证书传上去就行了,不用密码,只用到你的证书
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me
baby
帖子: 641
注册时间: 2005-11-10 19:12

Re: 怎样实现ssh登录自动输入密码阿

#6

帖子 baby » 2011-07-05 17:17

hubert_star 写了:ssh支持证书登陆的啊,你把你的证书传上去就行了,不用密码,只用到你的证书
机器太多,而且经常换系统,这样子比证书更方便,当然如果源码被看到了很危险
要是shell支持代码加密的话。。。。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 怎样实现ssh登录自动输入密码阿

#7

帖子 eexpress » 2011-07-05 20:41

代码: 全选

-i identity_file
你可以带着证书跑的啊。特殊要求,多看man。
● 鸣学
头像
lexdene
帖子: 434
注册时间: 2010-02-21 16:19
来自: 大连
联系:

Re: 怎样实现ssh登录自动输入密码阿

#8

帖子 lexdene » 2011-07-06 8:34

ssh带着证书就不需要输入密码了。
回复