sshpass 将字符串附加到远程文件
sshpass append string to a remote file
我需要通过 SSHPASS(bash 脚本)将变量字符串附加到远程计算机中的现有文件。
我试过了
echo "$test" | sshpass -p $pass $host 'cat >> /remote/full/path/log/report.log'
sshpass -p $pass $host "echo $test" >> /remote/full/path/log/report.log
没有效果
我想通了:
sshpass -p $pass' ssh -o StrictHostKeyChecking=no $host "cd /full/path/ && echo $test >> /full/path/report.log"
鉴于在脚本中存储密码是一个很大的安全漏洞,这是 sshpass 语法:
sshpass -p 'your_pass_here' ssh user@domain 'df -h'
您需要将 'StrictHostkeyChecking=no' 选项添加到 ssh:
echo "$test" | sshpass -p $pass ssh - o StrictHostkeyChecking=0 $host 'cat >> /remote/full/path/log/report.log'
我不知道为什么会这样,但请享受 bash 的魔力。哈哈
旁白:
如果您将要通过 sshing 进入的用户的密码设置为 envar $SSHPASS 而不是 $pass,那么您可以使用 sshpass -e 选项。
SSHPASS=$pass
echo "$test" | sshpass -e ssh - o StrictHostkeyChecking=0 $host 'cat >> /remote/full/path/log/report.log'
我需要通过 SSHPASS(bash 脚本)将变量字符串附加到远程计算机中的现有文件。
我试过了
echo "$test" | sshpass -p $pass $host 'cat >> /remote/full/path/log/report.log'
sshpass -p $pass $host "echo $test" >> /remote/full/path/log/report.log
没有效果
我想通了:
sshpass -p $pass' ssh -o StrictHostKeyChecking=no $host "cd /full/path/ && echo $test >> /full/path/report.log"
鉴于在脚本中存储密码是一个很大的安全漏洞,这是 sshpass 语法:
sshpass -p 'your_pass_here' ssh user@domain 'df -h'
您需要将 'StrictHostkeyChecking=no' 选项添加到 ssh:
echo "$test" | sshpass -p $pass ssh - o StrictHostkeyChecking=0 $host 'cat >> /remote/full/path/log/report.log'
我不知道为什么会这样,但请享受 bash 的魔力。哈哈
旁白:
如果您将要通过 sshing 进入的用户的密码设置为 envar $SSHPASS 而不是 $pass,那么您可以使用 sshpass -e 选项。
SSHPASS=$pass
echo "$test" | sshpass -e ssh - o StrictHostkeyChecking=0 $host 'cat >> /remote/full/path/log/report.log'