scp со специальным именем пользователя

Я пытаюсь создать сценарий оболочки для копирования файлов в удаленную резервную копию.

Это мой сценарий:

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 как пользователь.

Но я ' Я пытался избежать \ - и \: , и все выдает ту же ошибку. Я также не знаю, как использовать пароль в сценарии.

1
задан 21 February 2019 в 13:25
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 .

3
ответ дан 3 December 2019 в 18:24

Теги

Похожие вопросы