Quando hai abilitato l'accesso senza password, potresti usare SSH per eseguire il comando in modalità batch su una macchina remota o usare SCP per copiare file da/sulla macchina remota.
Se si verificano problemi con l'accesso senza password, il programma batch potrebbe finire in loop o in timeout.
In questo articolo, esaminiamo come istruire ssh/scp per eseguire l'operazione solo se puoi farlo senza attendere la password.
Prima di provare questo, assicurati che l'accesso senza password sia impostato tra il tuo locale host e host remoto.
1. ssh -o "Modalità batch sì" Esempio di utilizzo
Se hai abilitato l'accesso meno password, l'esempio seguente accederà all'host remoto ed eseguirà il comando who senza richiedere la password.
local-host# ssh ramesh@remote-host who
Se l'accesso senza password non è abilitato, verrà richiesta la password sull'host remoto come mostrato di seguito.
local-host# ssh ramesh@remote-host who ramesh@remote-host's password:
Se usi ssh -o "BatchMode yes", eseguirà ssh solo se l'accesso senza password è abilitato, altrimenti restituirà un errore e continuerà.
local-host# ssh -o "BatchMode yes" ramesh@remote-host Command
Esecuzione del comando in modalità batch tramite SSH — caso riuscito
local-host# ssh -o "BatchMode yes" ramesh@remote-host who .. [Note: This will display the output of remote-host's who command]
Esecuzione del comando in modalità batch tramite SSH — Caso di errore
local-host# ssh -o "BatchMode yes" ramesh@remote-host who Permission denied (publickey,password).
Nota: Se non hai usato -o "BatchMode yes", il comando precedente avrebbe richiesto la password per il mio account sull'host remoto. Questa è la differenza fondamentale nell'utilizzo dell'opzione BatchMode sì.
2. scp -B opzione Esempio di utilizzo
Se usi l'opzione scp -B, eseguirà scp solo se l'accesso senza password è abilitato, altrimenti uscirà immediatamente senza attendere la password.
$ scp -B file root@IP:PATH
SCP in modalità batch:caso riuscito
local-host# scp -B /etc/yp.conf ramesh@remote-host:/tmp yp.conf 100% 84 0.1KB/s 00:00
SCP in modalità batch — Caso di errore
In questo esempio, se scp è possibile senza autenticazione, il comando verrà eseguito altrimenti uscirà come mostrato di seguito.
local-host# scp -B /etc/yp.conf ramesh@remote-host:/tmp Permission denied (publickey,password). lost connection