Автоматическое сохранение ключа хоста сервера в кеше с помощью plink


21

Я пытался выдавать команды, используя plink, для получения информации с моего внешнего сервера. Обратите внимание, что эти команды plink запускаются из двоичного файла, который не ожидает ввода от пользователя. Есть ли флаг, который позволит мне переопределить это сообщение об ошибке и продолжить вывод программы?

The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n)

Спасибо!


Реальная проблема в том, что либо git неправильно передает данные в plink, либо, наоборот, plink не принимает их должным образом. Если вы запускаете git clone, например, «git bash», то ввод (Y / n) затем переходит в приглашение bash, и bash обычно отвечает bash: y: command not found.
Андрыбак

Вы можете использовать klink из проекта Китти . Это вилка замазки. Там есть ключ: -auto-store-sshkey.
paxlo

Ответы:


20

Попробуйте добавить в свой скрипт:

echo y | plink -ssh root@REMOTE_IP_HERE "exit"

Это будет труба yсимвол через stdinк , plinkкогда вы получаете ключ хранилища в кэше? (y / n) приглашение, позволяющее plinkпроходить всем последующим командам без необходимости ввода пользователем. Команда exitзакроет сеанс SSH после того, как он будет установлен, что позволит plinkзапустить следующие команды.

Вот пример сценария, который записывает время Unix внешнего сервера в локальный файл:

echo y | plink -ssh root@REMOTE_IP_HERE "exit"
plink -ssh root@REMOTE_IP_HERE "date -t" > remote_time.tmp

Ссылка на конвейер : http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-4.html


-1

может быть, это поможет

plink -auto_store_sshkey -batch 192.211.158.256 -l user -pw password command

1
-auto_store_sshkey - это «неизвестная опция» для версии plink 0.63
Натан

Неизвестно и 0,66
Джорил

... и неизвестно 0,70
Геррат
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.