【发布时间】:2018-06-07 15:19:11
【问题描述】:
有什么方法可以将以下命令组合成一个命令?我不想每次都登录每个命令。
sshpass -p 'somepwd' ssh user@server "mkdir -p /home/user/test"
sshpass -p 'somepwd' scp file.sh user@server:/home/user/test
sshpass -p 'somepwd' scp /test/somefile.txt user@server:/home/user/test
sshpass -p 'somepwd' ssh user@server -C "cd /home/user/test;./file.sh"
我确实检查了combing multiple commands when using ssh and scp 的答案;基于此,我仍然需要 3 个登录,一个用于第一个 ssh 和 mkdir,一个用于 scp,一个用于 ssh 并运行 shell 脚本。
有没有更好的解决方案?
【问题讨论】:
-
您尝试过
ssh的基于密钥的身份验证方法吗?如果没有,请尝试搜索ssh-keygen或搜索man ssh-keygen。 -
您可以使用
rsync复制多个文件,它会根据需要自动创建目录。这样您就可以组合前 3 个命令。 -
ControlMaster是你的朋友——你可以将一个连接用于多个命令。