![使用sshpass,如何在登录的服务器上工作](https://linux22.com/image/130707/%E4%BD%BF%E7%94%A8sshpass%EF%BC%8C%E5%A6%82%E4%BD%95%E5%9C%A8%E7%99%BB%E5%BD%95%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E5%B7%A5%E4%BD%9C.png)
我是 shell 脚本的新手。我尝试通过sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no YOUR_USERNAME@SOME_SITE.COM
命令登录服务器,并且已成功登录。
我的问题是如何在同一个登录服务器上进一步工作(传递更多命令)?
答案1
ssh 允许在远程运行命令
ssh 用户@服务器“命令”
sshpass 实际上只是为您输入密码即可运行 ssh。因此您可以像通过 ssh 一样调用命令。
sshpass -p “您的密码” ssh -t -o StrictHostKeyChecking=no YOUR_USERNAME@SOME_SITE.COM “命令 ; bash”
答案2
根据您对 Ibrahim 的评论,当您运行命令“cd /home/abc/xyz”时,它将仅针对您通过 ssh 命令建立的远程连接创建的特定 bash 会话运行。如果您想远程运行命令,您应该使用以下命令来满足您的要求。
ssh YOUR_USERNAME@SOME_SITE.COM "command"
如果您想一次运行更多命令,请在命令之间使用 && 。示例如下
ssh YOUR_USERNAME@SOME_SITE.COM "command1 && command2 && command3"
了解 && 和 ||在互联网上了解更多有关相同的信息。