在Ubuntu系统中,通过SSH远程执行脚本有多种方法。以下是一些常用的方法:
方法一:使用SSH命令直接执行脚本
-
确保SSH服务已启动: 确保目标服务器上的SSH服务已经启动并且可以访问。
-
上传脚本到目标服务器: 使用
scp命令将本地脚本上传到目标服务器。例如:scp /path/to/local/script.sh user@remote_host:/path/to/remote/directory/ -
远程执行脚本: 使用SSH命令在目标服务器上执行脚本。例如:
ssh user@remote_host 'bash /path/to/remote/script.sh'
方法二:使用SSH密钥认证
-
生成SSH密钥对(如果还没有):
ssh-keygen -t rsa -
将公钥复制到目标服务器: 使用
ssh-copy-id命令将公钥复制到目标服务器的~/.ssh/authorized_keys文件中。例如:ssh-copy-id user@remote_host -
远程执行脚本: 现在可以直接使用SSH命令执行脚本,无需输入密码。例如:
ssh user@remote_host 'bash /path/to/remote/script.sh'
方法三:使用SSH配置文件
-
编辑SSH配置文件: 编辑
~/.ssh/config文件,添加目标服务器的配置。例如:Host remote_host HostName remote_host_ip User user IdentityFile ~/.ssh/id_rsa -
远程执行脚本: 使用配置文件中的别名来执行脚本。例如:
ssh remote_host 'bash /path/to/remote/script.sh'
方法四:使用SSH代理转发
如果你需要在本地机器上执行远程脚本,并且希望使用本地机器的环境变量和工具,可以使用SSH代理转发。
-
启用SSH代理转发: 在SSH命令中添加
-A选项以启用代理转发。例如:ssh -A user@remote_host 'bash /path/to/remote/script.sh' -
远程执行脚本: 现在可以在远程服务器上使用本地机器的环境变量和工具来执行脚本。
方法五:使用SSH Shell脚本自动化
你可以编写一个Shell脚本来自动化上述过程。例如:
#!/bin/bash
# 定义变量
REMOTE_HOST="remote_host_ip"
REMOTE_USER="user"
REMOTE_SCRIPT_PATH="/path/to/remote/script.sh"
# 上传脚本
scp /path/to/local/script.sh ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_SCRIPT_PATH}
# 远程执行脚本
ssh ${REMOTE_USER}@${REMOTE_HOST} 'bash ${REMOTE_SCRIPT_PATH}'
将上述脚本保存为remote_execute.sh,然后执行:
chmod +x remote_execute.sh
./remote_execute.sh
通过这些方法,你可以方便地在Ubuntu系统中通过SSH远程执行脚本。选择适合你需求的方法即可。
以上就是关于“Ubuntu SSH远程执行脚本的方法”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm