本文介绍几种SSH免密码方案,供大家参考
1)SSH信任
此方案是最常用的方案,举例如下
假如A免密码访问B,设置:
A) 在A上执行如下密码
ssh-keygen -t rsa
B) 将A中的公钥复制到B中
A中执行:
cat ~/.ssh/id_rsa.pub
B中执行
vim ~/.ssh/authorized_keys
#将A的公钥复制到B中
chmod 600 ~/.ssh/authorized_keys
2)使用第三方工具sshpass
在http://sourceforge.net/projects/sshpass/中下载此工具
命令:
sshpass -p 123456 ssh root@192.168.1.100
3)使用expect
./ssh.exp 192.168.1.100 hello
ssh.exp代码:
#!/usr/bin/expect
set timeout 10
set ip [lindex $argv 0]
set passwd [lindex $argv 1]
spawn ssh $ip
expect "password:"
send "$passwd\r"
expect eof
close $fd