2015-03-31 17 views
7

Mam do czynienia z problemem, gdy uruchamiam po prostu te polecenia.przekazywanie argumentu tak podczas polecenia scp

Serwer zdalny chce przekazać yes, aby dodać klucz w pliku RSA, ponieważ pierwsze połączenie ustanowiono z scp.

polecenia są podane poniżej

#!/bin/bash 

scp -P58222 [email protected]:/root/K /N 
/usr/bin/expect -c 'expect "\n" { expect "Are you sure you want to continue connecting (yes/no)?" }' 
send "yes\r" 
expect "$ " 
send "exit\r" 

właściwie, trzeba przejść tak w moim skrypcie, prosząc

autentyczności hosta „Adres IP (adres IP)” nie można ustalić.

RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx. 
Are you sure you want to continue connecting (yes/no)? 

Czy na pewno chcesz kontynuować łączący (tak/nie)?

Jak mogę pozbyć się tego problemu?

z

scp -o StrictHostKeyChecking=no 

jest wciąż pytają.

+2

Możesz po prostu przekazać argumenty do ssh/scp, aby powiedzieć, aby nie zadawać pytania; nie trzeba używać "oczekiwać", aby zakodować odpowiedź. –

+1

To powiedziawszy - jakie * konkretne * pytanie mówisz mu, aby odpowiedzieć tak na tak? Jeśli na przykład jest to pytanie z nieznanym kluczem, mogłoby to pomóc. –

+0

w szczególności, 'scp -q' włącza tryb cichy, który nie wymaga prośby o potwierdzenie. –

Odpowiedz

7
scp -o StrictHostKeyChecking=no [email protected]:/root/K 

Oczywiście nie jest to bardzo bezpieczne rozwiązanie. Pracuje dla pojedynczych ujęć, w których nie interesuje cię człowiek w środku.

+0

W rzeczywistości, , gdy połączenie ustanowiło, że pokazuje połączenie nie może zostać nawiązane, ponieważ zdalne informacje o hoście nie zostały dodane po wpisaniu "tak" informacja o urządzeniu hosta została dodana pomyślnie. –

+0

Proponuję przejrzeć 'man scp' pod opcją' -o', aby uzyskać pełną listę opcji ssh/scp. W zależności od konfiguracji możesz potrzebować innego zestawu flag opcji. – economy

+0

Sprawdzam, czy to jest pomocne, ale teraz testuję .. !! –

2

Dla mnie to działa:

yes | scp -r /opt/MyFiles [email protected]<MyNewServerIP>:/opt/MyFiles 

Pozdrawiam. =)

+0

To wydaje się działać dla mnie: –

Powiązane problemy