Automatyczne przechowywanie klucza hosta serwera w pamięci podręcznej za pomocą polecenia plink

21

Próbowałem wydawać polecenia za pomocą polecenia plink, aby pobrać informacje z mojego zewnętrznego serwera. Zauważ, że te polecenia plink są uruchamiane z pliku binarnego, który nie oczekuje żadnych danych wejściowych od użytkownika. Czy istnieje flaga, która pozwoli mi przesłonić ten komunikat o błędzie i kontynuować wyświetlanie danych wyjściowych programu?

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)

Dziękuję Ci!

Tad Oh
źródło
Prawdziwy problem polega na tym, że albo git nie podaje poprawnie danych wejściowych do pink lub odwrotnie, pink nie bierze ich poprawnie. Jeśli uruchomisz git clone, np. „Git bash”, dane wejściowe (T / n) przejdą do monitu bash, a bash zwykle odpowiada bash: y: command not found.
andrybak
Możesz użyć klink z projektu Kitty . To jest widelec szpachli. Jest klucz: -auto-store-sshkey.
paxlo

Odpowiedzi:

20

Spróbuj przygotować skrypt za pomocą:

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

To poprowadzi yznak stdindo, plinkkiedy otrzymasz klucz Store w pamięci podręcznej? (t / n) monit, pozwalający plinkna przejście wszystkich dalszych poleceń bez potrzeby wprowadzania danych przez użytkownika. exitPolecenie zamknąć sesję SSH po stwierdzeniu, umożliwiając następujące plinkpolecenia do uruchomienia.

Oto przykładowy skrypt, który zapisuje czas uniksowy zewnętrznego serwera do pliku lokalnego:

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

Dokumentacja dotycząca rurociągów : http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-4.html

Daniel Li
źródło
-1

może pomoże:

plink -auto_store_sshkey -batch 192.211.158.256 -l user -pw password command
Falcluft
źródło
1
-auto_store_sshkey to „nieznana opcja” dla wersji Plink 0.63
Nathan
Nieznany również 0,66
Joril,
... i nieznany 0,70
Gerrat