我正在尝试创建一个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
。