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