我正在将文件从远程服务器复制到本地服务器。以下是执行此操作的代码:
ssh -q username@$192.168.162.156 "su -lc 'cp /copy/from /copy/it/here'"
我在for循环中使用此代码段,因此它会在每次迭代时提示输入密码。如何从su
命令获取密码? (不使用rsync或sudo)。即使它们更好,我也不想要任何替代品。
答案 0 :(得分:2)
在本地服务器中执行:
scp remote_user@remote_server:/path/to/files /dir/to/copy
在本地计算机上执行时,以用户 remote_user 登录 remote_server ,并将 / path /中的文件复制到/ files / 中远程服务器到本地服务器中的 / dir / to / copy / 。
您可能需要设置passwordless ssh连接,以便在不需要密码的脚本中运行它。
阅读man scp
了解更多信息。
答案 1 :(得分:0)
您可以通过stdin传递密码:
echo 'password' | su -c [...]
答案 2 :(得分:0)
如果您的问题是重复的密码提示,您可以尝试
new ssh module