openssh запрашивает dsa

Сегодня, когда я попытался войти с моего ноутбука Linux на сервер Linux с SSH, я получил сообщение об ошибке:

ПРЕДУПРЕЖДЕНИЕ: ИДЕНТИФИКАЦИЯ УДАЛЕННОГО ХОСТА ИЗМЕНИЛАСЬ !

Поскольку я не менял ключи машины, я выполнил ssh -v , чтобы посмотреть, что произойдет. Я обнаружил, что мой клиент OpenSSH (SSH-2.0-OpenSSH_7.2p2) принимает «алгоритм ключа хоста: ecdsa-sha2-nistp256», cd / root / TRY1 / exec wget --http-user $ user --http-password $ password $ url Затем я хочу извлечь файл: cd / root / TRY1 / exec bash -c "tar ...

Сначала я загружаю файл в / root / TRY1 / :

#!/usr/bin/expect
cd /root/TRY1/
exec wget --http-user $user --http-password $password $url

Затем я хочу извлечь файл:

cd /root/TRY1/
exec bash -c "tar -xzvf /root/TRY1/BigDataProtector*.tgz"

Однако это просто загружает файл в этом месте и останавливается после этого. Файл не извлекается.

Но когда я комментирую часть wget и запускаю команду извлечения, он извлекается.

Как мне выполнить обе команды последовательно?

2
задан 13 September 2016 в 16:56
1 ответ

Используйте собственную команду Expect spawn :

#!/usr/bin/expect
cd /root/TRY1/
spawn wget --http-user $user --http-password $password $url
spawn bash -c "tar -xzvf /root/TRY1/BigDataProtector*.tgz"

Или запретите wget запись на терминал с аргументом - quiet :

#!/usr/bin/expect
cd /root/TRY1/
exec wget --quiet --http-user $user --http-password $password $url
exec bash -c "tar -xzvf /root/TRY1/BigDataProtector*.tgz"

Индикатор выполнения wget вызывает сбой ожидания при вызове с помощью exec .

3
ответ дан 3 December 2019 в 10:37

Теги

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