searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

如何通过expect命令使用SSH访问指定IP地址?

2023-03-27 03:28:17
3088
0
使用Expect命令可以自动化地执行SSH登录过程,以下是通过Expect命令使用SSH访问指定IP地址的步骤:
1、安装Expect命令
在Ubuntu系统中,可以使用以下命令安装Expect:
apt-get install expect
2、创建Expect脚本
使用文本编辑器创建一个名为ssh_login.exp的文件,输入以下内容:
#!/usr/bin/expect
set timeout 30
set host [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
set command [lindex $argv 3]

spawn ssh $username@$host $command
expect {
    "yes/no" { send "yes\r"; exp_continue }
    "password:" { send "$password\r" }
}
interact
以上Expect脚本将获取四个参数:主机地址、用户名、密码和要执行的命令,然后自动执行SSH登录并执行命令。
3、运行Expect脚本
使用以下命令运行Expect脚本:
expect ssh_login.exp <host> <username> <password> <command>
其中,<host>是要访问的IP地址,<username>和<password>是登录SSH时使用的用户名和密码,<command>是要执行的命令。
例如,要登录IP地址为192.168.1.100的服务器,用户名为admin,密码为123456,执行ls命令,可以使用以下命令:
expect ssh_login.exp 192.168.1.100 admin 123456 ls
以上命令将自动登录到192.168.1.100服务器上,并执行ls命令。
注意,由于Expect脚本包含了明文密码,因此需要确保脚本文件的权限不被其他人看到或更改。
0条评论
0 / 1000
SD万
89文章数
22粉丝数
SD万
89 文章 | 22 粉丝
原创

如何通过expect命令使用SSH访问指定IP地址?

2023-03-27 03:28:17
3088
0
使用Expect命令可以自动化地执行SSH登录过程,以下是通过Expect命令使用SSH访问指定IP地址的步骤:
1、安装Expect命令
在Ubuntu系统中,可以使用以下命令安装Expect:
apt-get install expect
2、创建Expect脚本
使用文本编辑器创建一个名为ssh_login.exp的文件,输入以下内容:
#!/usr/bin/expect
set timeout 30
set host [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
set command [lindex $argv 3]

spawn ssh $username@$host $command
expect {
    "yes/no" { send "yes\r"; exp_continue }
    "password:" { send "$password\r" }
}
interact
以上Expect脚本将获取四个参数:主机地址、用户名、密码和要执行的命令,然后自动执行SSH登录并执行命令。
3、运行Expect脚本
使用以下命令运行Expect脚本:
expect ssh_login.exp <host> <username> <password> <command>
其中,<host>是要访问的IP地址,<username>和<password>是登录SSH时使用的用户名和密码,<command>是要执行的命令。
例如,要登录IP地址为192.168.1.100的服务器,用户名为admin,密码为123456,执行ls命令,可以使用以下命令:
expect ssh_login.exp 192.168.1.100 admin 123456 ls
以上命令将自动登录到192.168.1.100服务器上,并执行ls命令。
注意,由于Expect脚本包含了明文密码,因此需要确保脚本文件的权限不被其他人看到或更改。
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
9
5