Come usare ssh-agent su ubuntu

Come usare ssh-agent su ubuntu
ssh-agent è configurato per eseguire su Ubuntu automaticamente. Se non viene avviato automaticamente all'accesso, può essere avviato manualmente dal comando "valuta". La password della chiave privata SSH può essere creata manualmente dall'utente da ssh-agent. È chiamato agente di autenticazione. SSH-Agent utilizza la variabile di ambiente ssh_auth_sock per l'autenticazione. Se questa variabile è impostata correttamente, allora il ssh-agent funzionerà correttamente. Gli usi di ssh-agent su Ubuntu per scopi diversi sono stati spiegati in questo tutorial.

Prerequisiti:

Prima di iniziare i passaggi di questo tutorial, saranno necessari i seguenti passaggi.

Abilita il servizio SSH su Ubuntu se non è abilitato prima.

Genera le coppie di tasti SSH per eseguire i comandi nel server remoto. Esegui il comando seguente per creare la chiave pubblica e la chiave privata. La chiave privata sarà archiviata nel server remoto e le chiavi pubbliche saranno archiviate in modo sicuro nel client.

$ ssh -keygen -t rsa

Eseguire il comando seguente per aprire il sshd_config File usando nano editor per aggiungere alcune configurazioni necessarie.

$ sudo nano/etc/ssh/sshd_config

Aggiungi le seguenti righe nel file per abilitare l'accesso root e l'autenticazione basata su password.

Passwordautenticazione Sì
Per altirootlogin Sì

Esegui il comando seguente per riavviare il servizio SSH.

$ sudo servizio ssh riavvio

Sintassi:

Di seguito sono riportati due diversi sintassi dell'agente SSH. Il significato delle opzioni utilizzate con questo comando è descritto nella parte successiva di questo tutorial.

ssh-agent [-c | -s] [-dd] [-a bind_address] [-e fingerprint_hash] [-t life] [comando [arg ...]]
ssh-agent [-c | -s] -k

Diverse opzioni di SSH-Agent:

Il comando ssh-agent ha molte opzioni. Gli usi delle opzioni sono indicati di seguito.

Opzione Scopo
-un bind_address Viene utilizzato per associare con forza la presa del dominio UNIX al percorso del file indicato invece di utilizzare la presa predefinita.
-C Viene utilizzato per generare i comandi c-shell su stdout. La shell viene rilevata automaticamente per impostazione predefinita.
-D Viene utilizzato per abilitare la modalità di debug.
-E Imprint_hash Viene utilizzato per definire l'algoritmo utilizzato per generare le impronte digitali del tasto SSH. MD5 e Sha256 sono i valori validi.
-K È usato per uccidere l'agente attualmente in esecuzione.
-S Viene utilizzato per generare con forza i comandi di shell bourne (/bin/sh) su stdout. La shell viene rilevata automaticamente per impostazione predefinita.
-T vita Viene utilizzato per definire il numero massimo di secondi utilizzati per mantenere l'identità dell'agente. Il valore di questa opzione definisce in secondi, ma può essere definito da suffissi diversi, come m per minuti, h per ore, d per giorni e w per settimane. Se questa opzione non viene utilizzata, l'agente manterrà le chiavi nella memoria fintanto che funziona. Questo valore verrà sovrascritto quando verrà eseguito il comando ssh-add.

L'uso dell'opzione -t è stato mostrato qui. Esegui il comando seguente per mantenere l'identità degli agenti per 60 secondi.

$ ssh -agent -t 60

Verrà visualizzato il seguente output dopo aver eseguito il comando sopra.

Utilizzo del comando ssh-agent per l'autenticazione non interattiva:

Esegui il seguente comando dalla macchina server per avviare SSH-agent per l'autenticazione non interattiva.

$ eval $ (ssh-agent)

Verrà visualizzato il seguente output dopo aver eseguito il comando sopra. ssh-agent ora sta correndo. Qui, il nome utente della macchina del server è "Fahmida.'

Usa SSH-ADD per aggiungere la chiave privata passphrase a ssh-agent:

l'Add. SSH Il comando richiederà la fornitura della passphrase per le chiavi private SSH. Ora accedi alla macchina client ed esegui il ssh-add comando dal terminale.

$ ssh-add

Dopo aver aggiunto la chiave privata all'agente SSH, diversi tipi di comandi SSH, come SCP, SFTP, SSH, ecc., può essere eseguito dalla macchina client.

Copia il file dal client al server:

IL SCP comanda di copiare il file dal client al server e ssh Comando per connettersi con il server per il controllo del file viene copiato o non mostrato in questa parte del tutorial. Crea un file di testo denominato Testfile.TXT Con i seguenti contenuti.

Testfile.TXT

È un file di test creato nella macchina client.

Eseguire il comando seguente per verificare il contenuto del Testfile.TXT file prima di eseguire il file 'SCP' comando.

$ gatto testfile.TXT

Verrà visualizzato il seguente output dopo aver eseguito il comando sopra.

Eseguire il comando seguente per copiare il Testfile.TXT file dalla macchina client a Documenti cartella della macchina del server.

$ SCP Testfile.txt fahmida@fahmida-virtualbox: ~/documenti/

Verrà visualizzato il seguente output dopo aver eseguito il comando sopra se il file viene copiato correttamente nella posizione del server. Qui, il nome utente della macchina del server è "Fahmida," E il nome utente della macchina client è 'Yasmin.

Esegui il comando seguente per stabilire una connessione con il server utilizzando ssh comando.

$ ssh fahmida@fahmida-virtualbox

Eseguire il comando seguente per andare al Documenti La cartella della macchina del server per controllare il file di testo è stata copiata qui o no.

$ CD Documenti

Eseguire il comando seguente per controllare l'elenco dei file e delle cartelle del Documenti cartella.

$ ls
[

Il seguente output mostra che il file di testo esiste in Documenti cartella della macchina del server.

Ora, esegui il seguente comando per controllare il contenuto del file di test.file txt della macchina del server.

$ gatto testfile.TXT

Il seguente output mostra che il contenuto di Testfile.txt della macchina del server è uguale al contenuto del file di testo.txt della macchina client.

Rimuovi tutte le chiavi private SSH-agent cache:

Esegui il seguente comando ssh-add con l'opzione -d per rimuovere tutte le chiavi private dell'agente SSH cache.

$ ssh -add -d

Verrà visualizzato il seguente output dopo aver eseguito il comando sopra.

Conclusione:

Usando ssh-agent è un modo per connettersi con la macchina remota dalla macchina client per svolgere attività diverse. Qualsiasi file può essere copiato dalla macchina client alla macchina del server eseguendo un agente SSH mostrato in questo tutorial per aiutare il lettore a conoscere l'uso di questo comando.