通过 ssh 连接到远程服务器

通过 ssh 连接到远程服务器

可能的重复:
如何通过 SSH 执行远程 shell 脚本,并通过该脚本中需要密码的命令提示输入密码?

我想通过 ssh 连接到远程服务器。我还必须在该脚本中提供密码。连接到远程服务器后,我想运行服务器启动脚本。请提供示例。

谢谢

答案1

您可以使用expect工具编写脚本。

在Redhat中,expect包是默认的。但在 Ubuntu 中你需要单独安装它。

您可以使用命令来检查:

$ rpm -qa | grep expect对于红帽

$ dpkg -l expect对于Ubuntu

以下脚本将完成您的工作:

#!/usr/bin/expect

spawn ssh username@hostname
expect "username@hostname's password: "
send "password\r"
interact
exec <path_of_init_script>

其中username是您登录的实际用户名, hostname可以是主机名或 IP 地址,密码是实际密码。

这样您就可以登录到盒子并运行脚本。

相关内容