Сценарий оболочки для автоматизации запросов scp

Я пытаюсь создать сценарий оболочки, который будет автоматически scp использование моего закрытого ключа, порта моего выбора и к наиболее часто используемой учетной записи пользователя (не моя собственная учетная запись). Я смог выполнить это для ssh путем выполнения следующего.

####!/bin/bash

ssh -p (port#) <port #> -i ~/.ssh/.id_dsa  -o StrictHostKeyChecking=no -l admin $@

Для scp у меня есть следующее до сих пор.

####!/bin/bash

scp -P (port#) -i ~/.ssh/.id_dsa  $1   admin $@

Если я пытаюсь выполнить свою команду, не указывая имя пользователя, я получаю следующее.

user:~$ scputil <file to transfer> host:/tmp
user@10.70.52.18's password:

Поскольку Вы видите, что это просит пароль моего пользователя, когда я надеялся, что это будет использовать администратора.

Если бы я указываю пользователя наряду со своей командой, она работает, как я ожидал бы

user:~$ scputil <file to transfer> admin@10.70.52.18:/tmp/
<file to transfer>                                          22%   78MB  13.1MB/s   00:20 ETA

Кто-либо знает о способе указать пользователя для передачи файлов в рамках сценария оболочки?

Заранее спасибо!

0
задан 31 August 2016 в 08:24

1 ответ

В scp можно использовать-o опцию передать ssh опции, используемые для входа в систему для передачи файлов.

Так, если бы Вы хотите заставить scp войти в систему как администратор, использование User=admin

, таким образом, Ваша команда scp стала бы чем-то как

scp -o User=admin -P port -i public_key $@

0
ответ дан 28 September 2019 в 15:29

Другие вопросы по тегам:

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