在服务器30中使用expect脚本自动登录到服务器107.
1.查看107服务器的ssh端口
vi /etc/ssh/sshd_config
找到下面这样的行:
#Port 22
取消注释,启用监听端口。
Port 22
默认情况下,ssh监听端口是22,攻击者使用端口扫描软件就可以看到主机是否运行有SSH服务,将SSH端口修改为大于1024的端口是一个明智的选择,因为大多数端口扫描软件(包括nmap)默认情况都不扫描高位端口。
Port 3097
修改端口后,需重启sshd服务
service sshd restart
如果你是通过root用户登录到107中,那么还需修改:
找到行
#PermitRootLogin yes
去掉前面的注释
PermitRootLogin yes
2.自动登录脚本
#!/usr/bin/expect -f
set ip [lindex $argv 0]
set loginname root
set loginpwd "qzqzqz#"
set timeout 10
spawn ssh $ip -l $loginname -p 5678
expect {
"*yes/no" {send "yes\r";exp_continue}
"*password:" {
send "$loginpwd\r"
expect "#*"
send "pwd\r"
send "exit\r"
expect eof
}
}
3.执行脚本
[root@bigdata internetMarket]# ./expectssh.sh xxx.xxx.xxx.107
spawn ssh xxx.xxx.xxx.107 -l root -p 5678
root@xxx.xxx.xxx.107's password:
Last login: Fri Aug 21 14:07:57 2015 from xxx.xx.xxx.0
######################################################################
# Notice #
# #
# Please don't upgrade the kernel, as the kernel upgrade #
# would damage the original operating system. #
# #
# Any questions please contact 4000-955-988 #
######################################################################
[root@VM000001963 ~]# pwd
/root
[root@VM000001963 ~]# exit
logout
Connection to xxx.xxx.xxx.107 closed.