Mi rendo conto che questa domanda è stata posta alcune volte ma non sono riuscito a trovare una risposta pertinente ovunque nella mia ricerca.Bash Script a SSH in una macchina senza richiesta di password e senza utilizzare le chiavi
Sto lavorando in un ambiente di sviluppo in cui la sicurezza non è un problema e chiunque potrebbe solo indovinare la password se il pensiero per pochi secondi.
Quello che sto cercando di fare è semplice. Ho creato una funzione alias nel mio file .bashrc locale e vorrei che questa funzione si connettesse automaticamente a una macchina con una password predefinita.
mio attuale implementazione simile a questa:
function s() {
ssh [email protected]$1
}
quando l'eseguo ottengo qualcosa di simile:
~]s 122
ssh [email protected]
[email protected]'s password:
Utilizzando Bash, e non utilizzando chiavi RSA vorrei ottenere questo utilizzare la password predefinita 'password'.
Ho provato quanto segue dove IP e Utente sono già stati impostati.
Do=$(expect -c "
spawn ssh [email protected]${IP[0]}.${IP[1]}.${IP[2]}.${IP[3]}
expect \"yes/no\"
send \"yes\r\"
expect \"assword\" send \"password\"")
echo $Do
$Do
dà l'errore follwing:
Connecting and logging into server using expect
usage: send [args] string
while executing
"send"
invoked from within
"expect "assword" send "password""
[email protected]'s password:
bash: spawn: command not found...
Utilizzando il seguente comando sono in grado di collegare una macchina. Se rimuovo l'interazione, esegue semplicemente il comando uptime e chiude la connessione. Con il comando interattivo non riesco a vedere cosa sto scrivendo o effettivamente interagisco con la macchina. Qualche idea?
Do=$(expect -c "spawn ssh [email protected]${IP[0]}.${IP[1]}.${IP[2]}.${IP[3]}; set timeout 4; expect \"assword\"; send \"password\n\"; expect \"test\"; send \"uptime\n\"; interact;");echo $Do;
fa il comando uova impostare l'ambiente? In caso contrario, il percorso non verrà impostato e non saprà dove cercare "ssh". Prova a inserire il percorso completo dell'eseguibile. – Jay
Ti chiedi solo, qual è la tua avversione per le chiavi RSA? La prima cosa che faccio sempre quando si imposta un nuovo sistema è autorizzare una chiave RSA. – mpontillo
Non volevo lavorare con le chiavi RSA perché sto lavorando con molti server diversi che hanno una durata molto limitata e questo script verrà utilizzato da molte persone. L'idea è di risparmiare tempo non dovendo digitare la stessa password ogni volta. Se devo digitare la password ogni volta che visito per la prima volta una nuova macchina su ssh-copy-id, le chiavi su di essa vanificano lo scopo. – SuperTetelman