我是shell
脚本新手,我centos
正在运行。我想编写ssh
一个远程机器的shell脚本并执行一堆命令。我面临的问题是如何为连接远程机器的命令提供用户名、密码、远程机器地址和私有访问密钥。
我用谷歌搜索并找到了一些脚本,但它们都需要一个名为 的实用程序expect
,我不想安装任何实用程序,只是为了运行我的脚本。有没有办法做到这一点?
您可以在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
。