如何使用 SCP 格式化密码

如何使用 SCP 格式化密码

我目前正在编写一个脚本来通过 SCP 将文件上传到我的服务器。

我有以下几行:

sshpass -p password!% scp -P 1234 ./test.text user@mydyndns:~/test.txt

但每次我尝试验证时都会陷入困境。我可以看到这可能是因为密码的原因。它和示例中一样具有“!”以及其中的“%”。每次我按 Enter 时,我都会看到发送的命令没有两个特殊字符。我尝试用 percet-enconding 替换它们,但没有成功(%25,%21)。

有任何想法吗?

答案1

尝试

1)单引号,

sshpass -p 'password!%' scp -P 1234 ./test.text user@mydyndns:~/test.txt

2)使用其他sshpass方法

  • 文件 :sshpass -f passwd.txt ...

    其中 passwd.txt 包含密码!%

  • 环境变量sshpass -e ...

    其中 SSHPASS 包含您的密码。

3)我认为不使用公钥/私钥是有充分理由的。

相关内容