如何登录到远程服务器并执行一组命令,然后在完成后注销并继续我的脚本?
谢谢。
发布于 2011-06-05 04:49:47
ssh可用于执行命令,而不是启动远程交互式登录shell。例如:
ssh user@host ls将登录到主机并执行ls命令。
您可以正常地在bash脚本中使用以下代码:
#!/bin/bash
# do local commands
ssh user@host "ls; grep something file.txt; copy a b"
# do more local commands在ssh的手册页中,退出状态将是remove命令的退出状态,如果发生错误,则为255。
发布于 2011-06-05 18:11:22
使用ssh和bash -s进行更简单的代码格式化的小变化
echo '
globchar="*"
ls -1d $globchar
ls -ld $globchar
' |
ssh user@host "bash -s --"发布于 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上生成加密密钥。
现在,当您对远程计算机执行ssh或scp时,您不必提供密码。
https://stackoverflow.com/questions/6239291
复制相似问题