【发布时间】:2010-12-22 20:36:24
【问题描述】:
我需要在我的远程 linux 机器上执行 shell 脚本。你知道有什么工具可以帮助我做到这一点吗?
谢谢,
【问题讨论】:
标签: linux
我需要在我的远程 linux 机器上执行 shell 脚本。你知道有什么工具可以帮助我做到这一点吗?
谢谢,
【问题讨论】:
标签: linux
您可以通过 ssh 将命令作为参数传递:
ssh user@remote.ip.address "~/myscript.sh"
要在没有密码的情况下连接,请使用 ssh 密钥。要使用密钥,您必须在您的机器上生成一对,使用以下命令:
ssh-keygen
然后取出文件~/.ssh/id_rsa.pub(或id_dsa.pub,如果你在ssh-keygen中使用参数-t dsa)的内容并放入remote_machine的~/.ssh/authorized_keys文件中。 .ssh 目录必须有权限 700。
【讨论】:
ssh-copy-id,它将处理ssh-keygen 之后的所有步骤。因此,无需复制公钥或担心文件权限。
对于 Python,您可以使用 Paramiko 通过 SSH 在远程计算机上运行命令。
【讨论】:
无需等待远程脚本完成即可终止 ssh 连接的无密码远程执行:
ssh -i ~/.ssh/id_rsa user@remote nohup sh /path/to/script.sh > /dev/null 2>&1 &
【讨论】:
ssh remotePassword@remoteHost < localScript.sh
ssh remotePassword@remoteHost "remoteScript.sh"
【讨论】: