Приветствие Все,Команды SSH от сценария к удаленному серверу не работают
У меня есть следующий запрос и будет признателен за любую помощь по этому вопросу. Спасибо.
Сценарий:
Мой локальный сервер (сервер-А) соединен с одним удаленным сервером (сервером-B) .Server-B подключен к 10 других удаленных серверов (сервер-С ... Сервер-L). Сервер-A напрямую не подключен (Server-C ... Server-L), его подключение только через сервер-B.
мне удалось сделать SSH ключ спаривание между:
Server-A <----> Server-B
Server-B <----> Server-C....Server-L
Так что теперь я могу войти в сервер-C от сервера-A с помощью следующей команды:
с сервера-A:
ssh [email protected](IP-Server-B) -t ssh [email protected](IP-Server-C)
ssh -t [email protected](IP-Server-B) -t scp -oStrictHostKeyChecking=no test.file [email protected](IP-Server-C):/home/user-C
Вот мой фактический сценарий: (Запуск от сервера-A)
while read line
do
scp -oStrictHostKeyChecking=no test.file [email protected](IP-Server-B):/home/user-B
ssh -t [email protected](IP-Server-B) -t scp -oStrictHostKeyChecking=no test.file [email protected]$line:/home/mtc
ssh -t [email protected](IP-Server-B) -t ssh -t -tqn [email protected]$line sh /home/user-c/test.file
ssh -t [email protected](IP-Server-B) -t scp [email protected]$line:/home/user-c/junk.txt /home/user-B
ssh -t [email protected](IP-Server-B) -t ssh [email protected]$line rm -rf /home/user-c/junk.txt
scp [email protected](IP-Server-B):/home/user-B/junk.txt .
mv junk.txt junk.txt_$line
done < LabIpList
Вот список IP-адресов серверов Server-c ... Server-L.
cat LabIpList
1.2.3.4
2.3.4.5
3.4.5.6
4.5.6.7
5.6.7.8
6.7.8.9
7.8.9.10
....
.....
Запрос:
Если я выше команды в командной строке, то они работают безупречно, однако если я положил их на сценарий, то они терпят неудачу. Из-за двух причин:
- tcgetattr: недопустимом IOCTL для устройства
- псевдо-терминал не будет выделено
- Как SSH-ключей в последнее время обмениваются, так что пользователь должен вручную ввести да, чтобы добавить их к know_hosts.
И чем вопрос? Вы читали о 'ssh_config', где вы можете настроить все, что навороты вы только что закодировали в ваш скрипт? – Jakuje
Как пройти, ручная аутентификация для новых ключей ssh + запустить SSH-команды через скрипт оболочки. – monk