我在网上看到一个方法可以在输入一次密码后便不用在输入密码的ssh登陆方法。
具体是这样的。
在各种ssh-copy-id remote or local 之后,
接着是
<local> $ ssh-agent $SHELL
<local> $ ssh-add
password for local .....
<local> $ ssh -l username remote-host
我想要写一个脚本或者用其他什么的方法,比如在 .bashrc 里写几个命令来省略上面都的三步。
这里要说明一点的是在ssh-agent $SHELL之后是进入了一个大概是子shell,用exit发现是在子shell里。如果写脚本的话,无法作用到子shell吧?所以比较难办。希望高手能给出个解决办法,
再或者如果你有更好的不用输入密码的办法,请告诉我,我知道如果在ssh-keygen的时候不输入密码的话,就会在copy-id之后就不用密码的。这个不安全。或者在脚本里把密码作为参数传给命令也不错。
ssh 不用输入密码登陆
- numbchild
- 帖子: 107
- 注册时间: 2010-03-16 12:34
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- numbchild
- 帖子: 107
- 注册时间: 2010-03-16 12:34
Re: ssh 不用输入密码登陆
简单的说就是,省略下面的三步,eexpress 写了:没太明白
是不是说用 ”. xxxx“执行?
<local> $ ssh-agent $SHELL
<local> $ ssh-add
password for local .....
<local> $ ssh -l username remote-host
把这三步放到脚本或者 ~/.bashrc 里, 但是一些限制已经在上面提到了。
My Blog: http://stardiviner.tumblr.com/
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: ssh 不用输入密码登陆
想往子shell输入指令?这类的?
kose5@kose5-Aspire-4552:~$ bash <<eof
echo;echo start subshell.;echo
awk 'BEGIN{for (i=1;i<=3;i++) {system("echo " i " > $(tty);sleep 1")}}'
echo by.......
echo
exit
eof
start subshell.
1
2
3
by.......
kose5@kose5-Aspire-4552:~$
kose5@kose5-Aspire-4552:~$ bash <<eof
echo;echo start subshell.;echo
awk 'BEGIN{for (i=1;i<=3;i++) {system("echo " i " > $(tty);sleep 1")}}'
echo by.......
echo
exit
eof
start subshell.
1
2
3
by.......
kose5@kose5-Aspire-4552:~$
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
- numbchild
- 帖子: 107
- 注册时间: 2010-03-16 12:34
Re: ssh 不用输入密码登陆
有点眉目了,想到该怎么写脚本了,谢谢。fnan 写了:想往子shell输入指令?这类的?
kose5@kose5-Aspire-4552:~$ bash <<eof
echo;echo start subshell.;echo
awk 'BEGIN{for (i=1;i<=3;i++) {system("echo " i " > $(tty);sleep 1")}}'
echo by.......
echo
exit
eof
start subshell.
1
2
3
by.......
kose5@kose5-Aspire-4552:~$
My Blog: http://stardiviner.tumblr.com/
- numbchild
- 帖子: 107
- 注册时间: 2010-03-16 12:34