首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过脚本登录到远程服务器并执行一组命令

通过脚本登录到远程服务器并执行一组命令
EN

Stack Overflow用户
提问于 2011-06-05 04:45:25
回答 3查看 21K关注 0票数 9

如何登录到远程服务器并执行一组命令,然后在完成后注销并继续我的脚本?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-05 04:49:47

ssh可用于执行命令,而不是启动远程交互式登录shell。例如:

代码语言:javascript
复制
ssh user@host ls

将登录到主机并执行ls命令。

您可以正常地在bash脚本中使用以下代码:

代码语言:javascript
复制
#!/bin/bash

# do local commands

ssh user@host "ls; grep something file.txt; copy a b"

# do more local commands

在ssh的手册页中,退出状态将是remove命令的退出状态,如果发生错误,则为255。

票数 11
EN

Stack Overflow用户

发布于 2011-06-05 18:11:22

使用sshbash -s进行更简单的代码格式化的小变化

代码语言:javascript
复制
echo '
globchar="*"
ls -1d $globchar
ls -ld $globchar
' |
ssh user@host "bash -s --"
票数 1
EN

Stack Overflow用户

发布于 2011-06-05 20:43:10

正如其他人所说的,您可以使用ssh。但是,如果您正在运行脚本,则可能需要将ssh设置为不使用密码登录。您可以通过ssh-keygen命令设置公钥/私钥来完成此操作。同时修改密钥文件(id_rsa、id_rsa.pub)的权限,公钥为600,私钥为400,以保证修改的安全性。chmod 600 id_rsa.pub ;chmod 400 id_rsa

在您的系统上,运行ssh-keygen来生成公钥和私钥。在Unix/Linux/Mac上,这些文件位于$HOME/.ssh目录中。(保持密码为空!)。然后,您希望在远程机器上的$HOME/.ssh目录下创建一个名为authorized_keys的文件,并复制您的公钥there.There不需要在远程m/c上生成加密密钥。

现在,当您对远程计算机执行sshscp时,您不必提供密码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6239291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档