Автоматическое сохранение ключа хоста сервера в кеше с помощью 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
Falcluft
источник
1
-auto_store_sshkey - это «неизвестная опция» для версии plink 0.63
Натан
Неизвестно и 0,66
Джорил
... и неизвестно 0,70
Геррат