scp 使用特殊用户名

scp 使用特殊用户名

我正在尝试创建一个shell脚本,用于将文件复制到远程备份。

到目前为止这是我的脚本:

PASSWORD=MY-SECRET-PASS
URL=SLOS755513-3:[email protected]
DIR=/backup

scp /home/user/my_log.txt $URL:$DIR

但我收到了错误:

ssh: Could not resolve hostname SLOS755513-3: Name or service not known
lost connection

我猜是因为用户名中有特殊字符,因为如果我只是写test,它实际上会尝试以test用户身份进行连接。

但我尝试过退出\-\:但每次都出现同样的错误。我也不确定如何在脚本中使用密码。

答案1

尝试这样的操作:

RUSER='SLOS755513-3:SL1255513'
HOST=objectstorage.net
DIR=/backup

scp -o user=$RUSER /home/user/my_log.txt $HOST:$DIR 

这将使用户部分明确,因此scp不会尝试解释:为主机/路径分隔符。-o user=$USER将把用户作为选项发送给底层ssh

相关内容