我可以使用伪终端(PTY)在 CentOS Linux 上自动化 SSH 和 sudo 吗?

我可以使用伪终端(PTY)在 CentOS Linux 上自动化 SSH 和 sudo 吗?

情况如下:我经常使用 terraform 构建新的 AWS 主机。初始构建后,需要在涉及 sudo 的主机上执行几个交互式步骤。是否可以(假设密码由用户提供)创建一个 Perl(使用 expect)或 Python3(pexpect)脚本来与 SSH 会话交互以自动执行这些步骤?

自动化的示例任务(这仅仅是一个例子;我正在寻找一个通用的解决方案,而不是专门的解决方案yum)将是:

$ ssh <new host>
Password: 
$ sudo yum -y update
[sudo] password for <my username>:

答案1

看起来好像网络::SSH::期望(用于执行远程命令的 SSH 包装器)将满足我的需要。您可以使用用户密码或不使用密码进行 SSH 身份验证。

相关内容