Linux expect自动登录ssh

在服务器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.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值