ssh 配置不用手动输入用户密码直接登录
需要3个东西
1.安装expect
2.autossh
3.执行脚本
sudoapt-getinstallexpect
====================================================
#autossh
#!/usr/bin/expect-f
settimeout30
setserver[lindex$argv0]
setuser[lindex$argv1]
setpass[lindex$argv2]
setrpass[lindex$argv3]
send_user"connectingto$server\n"
spawnssh$user@$server
expect{
">"{}
"$"{}
"assword:"{
send"$pass\r"
expect{
">"{}
"$"{}
"#"{}
}
}
"(yes/no)"{
send"yes\r"
expect{
">"{}
"$"{}
"#"{}
}
}
default{
}
}
if{$user!="root"}{
send"su\r"
expect{
">"{}
"$"{}
"#"{}
"口令"{
send"$rpass\r"
expect{
">"{}
"$"{}
"#"{}
}
}
"assword:"{
send"$rpass\r"
expect{
">"{}
"$"{}
"#"{}
}
}
}
}else{
send"ls\r"
}
#expect"(yes/no)"send"yes\r"
#expect"assword:"send"$pass\r"
#send_user"finished\r"
interact
=============================================
#ssh-www-login
/bin/autosship用户密码
=================================================
赋予可读权限
sudochmod666autossh
sudochmod666ssh-www-login
sudochmod+xautossh
sudochmod+xssh-www-login
为了能够全局执行命令,需要把这两个文件添加到系统环境里
============================================================
另外一种方式:
scp~/.ssh/id_rsa.pub用户名@你的服务器的ip:~/.ssh/authorized_keys