在 1 个脚本中连接到 ssh 并运行命令

在 1 个脚本中连接到 ssh 并运行命令

我登录到 ssh 并手动运行命令,我想编写脚本。

现在我做的是:

ssh 192.168.1.5 -p 1234然后我看到[email protected]'s password:然后我按下回车键(空密码),然后我想运行 shell 命令,例如ps

我怎样才能在一个脚本中完成所有操作?

答案1

通过 SSH 运行命令很容易。只需将命令放在 SSH 命令的后面即可。例如,要echo Hello通过 SSH 运行,使用用户user和主机host,我可以运行以下命令:

ssh user@host "echo Hello"
# and type the password (if there is one)

答案2

您实际上可以使用公钥身份验证来设置 ssh。这不需要您输入密码,而且也被认为更安全。这是实现此目的的良好指南:https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server

您可能不想为 ssh 密钥设置密码,或者您想将其添加到密钥环中,这样您就不会再收到密码提示。

此时,您可以运行 ssh 而无需用户输入,因为您可以指定要运行的命令:ssh someone@somehost command。或者在您的例子中:ssh [email protected] -p 1234 ps

答案3

这解释了所谓的“授权密钥”这将是我“简单”的做法,正如您所说,您希望密码为空(对吗?如果不是,请 -指出这一点!

+ 相关和详细链接 - 也在 AskUbuntu 上

相关内容