1

我是shell脚本新手,我centos正在运行。我想编写ssh一个远程机器的shell脚本并执行一堆命令。我面临的问题是如何为连接远程机器的命令提供用户名、密码、远程机器地址和私有访问密钥。

我用谷歌搜索并找到了一些脚本,但它们都需要一个名为 的实用程序expect,我不想安装任何实用程序,只是为了运行我的脚本。有没有办法做到这一点?

4

1 回答 1

2

您可以在ssh通话中传递您需要的所有内容,执行以下操作:

ssh -i private_key_path user_name@remote_machine "command"

如果您要多次使用此连接,并希望对其进行配置,请将以下行添加到您的.ssh/config文件中:

Host host_alias
    User user_name
    HostName remote_machine
    IdentityFile private_key_path

然后访问远程机器,并执行你想要的命令,方法是:

ssh host_alias "command"

请注意,命令 AFAIK 必须用引号括起来,因为它必须仅被视为一个参数ssh

于 2013-01-02T03:23:37.223 回答