我正在尝试创建一个 bash 脚本,该脚本将 scp 脚本传输到远程服务器,使用已安装的 ssh 密钥连接到远程服务器,执行上传的脚本,然后在完成后删除远程脚本。我不清楚如何在 bash 脚本中运行 ssh 会话。以下是我从命令行执行此操作时使用的命令:
scp my_script.sh [email protected]:/usr/home/user/
ssh [email protected]
>sh my_script.sh
>rm myscript.sh
>exit
如何编写命令列表的 ssh 部分?谢谢!
答案1
ssh 将在远程计算机上执行作为参数传递的命令。以下命令应可执行您想要的操作:
ssh [email protected] 'sh my_script.sh; rm my_script.sh'
答案2
您还可以跳过文件复制和删除并执行类似的操作。
cat my_script.sh | ssh user@host bash
答案3
您还可以研究 Fabric 的使用,这是一个用于通过 SSH 进行系统管理的 Python 库:
http://docs.fabfile.org/0.9.1/
它上手非常简单,但功能却非常强大,尤其是在跨多台服务器时。