Linux

具有特殊使用者名的 scp

  • February 21, 2019

我正在嘗試創建一個shell用於將文件複製到遠端備份的腳本。

到目前為止,這是我的腳本:

PASSWORD=MY-SECRET-PASS
URL=SLOS755513-3:SL1255513@objectstorage.net
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使用者身份連接。

但我試圖逃避\-\:一切都給了我同樣的錯誤。我也不確定如何在腳本中使用密碼。

嘗試這樣的事情:

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

引用自:https://serverfault.com/questions/955058