GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come usare ssh-agent su Ubuntu

ssh-agent è configurato per funzionare automaticamente su Ubuntu. Se non si avvia automaticamente al login, può essere avviato manualmente con il comando `eval`. La password della chiave SSH privata può essere creata manualmente tramite l'handle utente ssh-agent . È noto come agente di autenticazione. L'agente ssh utilizza la variabile di ambiente SSH_AUTH_SOCK per l'autenticazione. Se questa variabile è impostata correttamente, allora l'ssh-agent funzionerà correttamente. Gli usi di ssh-agent su Ubuntu per diversi scopi sono stati spiegati in questo tutorial.

Requisiti:

Prima di iniziare i passaggi di questo tutorial, devi completare i passaggi seguenti.

Abilita il servizio SSH su Ubuntu se non è stato precedentemente abilitato.

Genera le coppie di chiavi SSH per eseguire i comandi sul server remoto. Eseguire il comando seguente per creare la chiave pubblica e la chiave privata. La chiave privata è archiviata sul server remoto e le chiavi pubbliche sono archiviate in modo sicuro nel client.

$ ssh-keygen -T rsa

Esegui il comando seguente per aprire sshd_config File con l'editor nano per aggiungere alcune configurazioni necessarie.

$ sudo Nano /Etc/ssh/sshd_config

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

Autenticazione password Sì signore

PermitRootLogin Sì signore

Esegui il comando seguente per riavviare il servizio SSH.

$ sudo service ssh ricomincia

Sintassi:

Di seguito vengono fornite due diverse sintassi dell'agente ssh. Il significato delle opzioni utilizzate con questo comando è descritto nella parte successiva di questo tutorial.

ssh-agente [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash] [-t life] [comando [arg …]]

ssh-agente [-c | -s] -k

Diverse opzioni di ssh-agent:

Il comando ssh-agent ha molte opzioni. L'uso delle opzioni è riportato di seguito.

opportunità scopo
-a bind_address Viene usato per associare forzatamente il socket del dominio UNIX al percorso del file specificato invece di usare il socket standard.
-C Viene usato per generare i comandi della shell C su stdout. La shell viene riconosciuta automaticamente per impostazione predefinita.
-D Si usa per attivare la modalità di debug.
-E fingerprint_hash Viene utilizzato per definire l'algoritmo che verrà utilizzato per generare le impronte delle chiavi SSH. md5 e sha256 sono i valori validi.
-k Viene utilizzato per terminare l'agente attualmente in esecuzione.
-S Viene usato per generare forzatamente i comandi della shell Bourne (/bin / sh) su stdout. La shell viene riconosciuta 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 è definito in secondi, ma può essere definito da vari suffissi, ad es. B. m per minuti, h per ore, d per giorni e w per settimane. Se questa opzione non viene utilizzata, l'agente manterrà le chiavi in ​​memoria finché è in esecuzione. Questo valore viene sovrascritto quando viene eseguito il comando ssh-add.

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

$ ssh-agente -T 60

Vedrai il seguente output dopo aver eseguito il comando precedente.

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

Esegui il comando seguente sul computer server per avviare l'agente ssh per l'autenticazione non interattiva.

$ valuta $(ssh-agent)

Vedrai il seguente output dopo aver eseguito il comando precedente. ssh-agent è ora in esecuzione. Qui il nome utente del computer server è "fahmida".

Usa ssh-add per aggiungere la passphrase della chiave privata a ssh-agent:

l'aggiunta ssh Il comando richiede la specifica della passphrase per la chiave privata ssh. Ora accedi al computer client ed esegui ssh-add Comando dal terminale.

$ ssh-aggiungi

Dopo aver aggiunto la chiave privata all'agente ssh, diversi tipi di comandi SSH come scp, sftp, ssh ecc. possono essere eseguiti dalla macchina client.

Copia file dal client al server:

il scp Comando per copiare il file dal client al server e ssh Comando per connettersi al server per vedere se il file è stato copiato o non viene visualizzato in questa parte del tutorial. Crea un file di testo denominato testfile.txt con il seguente contenuto.

file di prova.txt

È un file di prova che è stato creato sul computer client.

Esegui il comando seguente per visualizzare il contenuto di testfile.txt File prima di scaricare `scp` Comando.

$ gatto file di prova.txt

Vedrai il seguente output dopo aver eseguito il comando precedente.

Esegui il comando seguente per ottenere il testfile.txt File dal computer client ai documenti Cartella macchina server.

$ scp file di prova.txt fahmida@fahida-VirtualBox:~/documenti/

Vedrai il seguente output dopo aver eseguito il comando precedente se il file è stato copiato correttamente nella posizione del server. Il nome utente del computer server è qui 'fahmida' ed è il nome utente del computer client 'Yasmin .

Esegui il comando seguente per connetterti al server digitando ssh Comando.

$ ssh fahmida@fahida-VirtualBox

Esegui il comando seguente per accedere ai documenti Cartella della macchina server per verificare se il file di testo è stato copiato qui o meno.

$ documenti CD

Esegui il comando seguente per visualizzare l'elenco di file e cartelle nei documenti Cartella.

$ ls
[[[[

Il seguente output mostra che il file di testo in documenti Cartella macchina server.

Ora esegui il comando seguente per controllare il contenuto del file testfile.txt sul computer server.

$ gatto file di prova.txt

L'output seguente mostra che il contenuto di testfile.txt sul computer server corrisponde al contenuto di textfile.txt sul computer client.

Rimuovi tutte le chiavi private memorizzate nella cache dell'agente ssh:

Esegui il seguente comando ssh-add con l'opzione -D per rimuovere tutte le chiavi private dall'agente ssh memorizzato nella cache.

$ ssh-aggiungi -D

Vedrai il seguente output dopo aver eseguito il comando precedente.

Diploma:

Utilizzo di ssh-agent è un modo per connettersi dal computer client al computer remoto per eseguire varie attività. Qualsiasi file può essere copiato dalla macchina client alla macchina server eseguendo un agente SSH, mostrato in questo tutorial, per rendere questo comando più facile da usare per il lettore.


Ubuntu
  1. Come usare il comando Su in Linux

  2. Come utilizzare il comando Uptime in Ubuntu Linux

  3. Come usare il comando tail in Ubuntu Linux

  4. Come usare il comando string in Ubuntu

  5. Come usare il comando netplan su Ubuntu

Come installare e utilizzare Busybox in Ubuntu

Come usare Ubuntu

Come utilizzare GDB per eseguire il debug di programmi in Ubuntu 20.04

Come usare il comando PS

Come usare il comando TOP

Come installare e utilizzare il comando Exa su Ubuntu 20.04