GNU/Linux >> Linux Esercitazione >  >> Linux

Come aggiungere la chiave SSH al codice VS e connettersi a un host

Se devi aggiungere la chiave SSH a VS Code per configurare una connessione SSH utilizzando lo scambio di chiavi, questo tutorial fa per te. In questo tutorial imparerai, passo dopo passo, come configurare il codice VS per la connessione tramite SSH tramite scambio di chiavi sia per un utente con sudo diritti (homelab in questa guida) e il root integrato utente.

Non sei un lettore? Guarda questo video tutorial correlato! Non vedi il video? Assicurati che il blocco degli annunci sia disattivato.

Prerequisiti

  • Codice Visual Studio per Windows. Questo tutorial utilizzerà la versione 1.5.1.1.
  • Windows 10 (SSH è necessario e viene preinstallato)
  • Un host SSH remoto:questo tutorial utilizzerà un host OpenSUSE con SSH abilitato.
  • Hai già configurato un host SSH in VS Code (consulta questo articolo).

Creazione della chiave SSH

Per iniziare, devi prima generare una chiave SSH privata e pubblica sul tuo computer Windows.

  1. Apri PowerShell sul tuo computer locale ed esegui ssh-keygen . Il percorso predefinito per le tue chiavi è C:\users\\.ssh.
  2. Fornire il percorso della cartella per salvare la chiave privata e pubblica. L'impostazione predefinita è C:\Utenti\\.ssh\id_rsa .
  3. Fornire una passphrase opzionale. Se fornisci una passphrase, questa passphrase verrà utilizzata per crittografare la chiave privata.

Al termine, ora avrai due file (chiavi) nella cartella in cui hai salvato le chiavi chiamata id_rsa.pub (chiave pubblica) e id_rsa (chiave privata). Per impostazione predefinita, queste chiavi saranno in C:\Users\\.ssh cartella.

Caricare la chiave pubblica sull'host SSH e associare il tuo utente SSH

Successivamente dovrai trasferire la chiave pubblica (id_rsa.pub) alla posizione delle chiavi autorizzate dell'utente SSH remoto. Utilizzando VSCode, puoi utilizzare il suo explorer integrato per caricare la chiave.

Correlato:configurazione di una connessione SSH Key Exchange con VS Code e SSH

  1. Se hai già configurato un host SSH in VS Code, apri la cartella home dell'utente. In questo caso, il tutorial utilizza il homelab utente.
  2. Crea il .ssh cartella nella tua home directory e carica id_rsa.pub file.
  3. Rinomina il file in authorized_keys (minuscolo). Puoi vedere questo esempio qui sotto.

Ora hai associato con successo la tua chiave pubblica al tuo utente SSH. Dovresti essere in grado di riconnetterti senza richiedere una password.

Associazione della chiave pubblica all'utente root

Associando la stessa chiave al root user ti dà la possibilità di accedere a SSH come utente normale o come root integrato utente.

Per i root utente questo copierà ~/.ssh/authorized_keys a /root/.ssh/authorized_keys . Puoi farlo eseguendo il comando seguente:

sudo mkdir -p /root/.ssh && sudo cp ~/.ssh/authorized_keys /root/.ssh/authorized_keys

Associazione della tua chiave al root l'utente richiede sudo diritti amministrativi. Puoi leggere di più su sudo qui.

Ora dovresti essere in grado di accedere all'utente root tramite SSH senza richiedere una password in Windows.

Aggiunta graficamente della tua chiave pubblica all'utente root usando YaST

Se sei più uno studente visivo, puoi eseguire la stessa attività utilizzando l'utilità di configurazione YaST di OpenSUSE. Questo sarà funzionalmente come copiare le chiavi_autorizzate file all'utente root, in un modo più amichevole.

YaST è uno strumento di configurazione specifico per la distribuzione OpenSUSE.

Post correlato:Un ragazzo Windows in un mondo Linux:YaST e il desktop

  1. Vai al terminale VS Code e carica il tuo id_rsa.pub file nella directory home:

2. Esegui sudo yast nel terminale VSCode.

3. Una volta in YaST, vai a Sicurezza e utenti —> Gestione utenti e gruppi utilizzando i tasti freccia. Premi Invio per entrare nella Gestione Utenti e Gruppi sezione. Questo passaggio ti porta alla schermata di gestione degli utenti di YaST.

4. Premi Alt+S in YaST per cambiare il filtro da utenti normali a utenti di sistema.

5. Scorri fino a root . Premi alt+i per modificare e quindi alt+s di nuovo per passare alla sezione chiavi. Puoi vederlo nell'animazione qui sotto:

6. Premi alt+a e vai a id_rsa.pub file che hai caricato in precedenza e premi alt+o su OK . Dovresti vedere l'impronta digitale aggiunta all'utente root.

7. Continua a premere alt+o a OK fuori dai menu e infine alt+q abbandonare. Puoi vederlo nell'animazione qui sotto:

A questo punto, hai eseguito con successo uno scambio di chiavi per root! Ora elimina quello caricato /home//id_rsa.pub sul tuo host Linux, se lo desideri.

Autenticazione con la chiave

Infine, dovresti testare la connessione usando la chiave appena creata. Per farlo:

Apri una console PowerShell e prova a eseguire ssh @ per testare l'accesso sia come utente che come utente root. Questa guida utilizza il homelab utente come l'utente normale. Se tutto va bene, dovresti accedere immediatamente a uno dei due account. Puoi vedere questo qui sotto:

Ora puoi accedere a SSH come root e il terminale non ha nemmeno chiesto una password. SSH per Windows sapeva dove cercare la tua chiave privata (C:\users\\.ssh\id_rsa ), e l'ha utilizzato automaticamente per l'autenticazione.

Configurazione di VS Code per utilizzare uno dei due utenti

Che cosa succede se devi connetterti al tuo host SSH remoto utilizzando sia il root account utente e un utente amministratore standard? Puoi impostare questo scenario utilizzando due diverse configurazioni in VS Code.

  1. In VS Code, fai clic su Esplora remoto nella barra laterale e fai clic sull'ingranaggio in Target SSH come mostrato di seguito.

2. VS Code chiederà un file da scegliere. Premi Invio per scegliere il file predefinito che hai generato in precedenza in questo articolo. VS Code aprirà un file di configurazione da modificare come mostrato di seguito.

3. Copia le prime tre righe della configurazione e incollale sotto separate da una riga vuota.

4. Cambia il secondo utente da (homelab nello screenshot qui sotto) a root . Inoltre, dai loro nomi più descrittivi (The Host parametro) in modo da poter distinguere le due configurazioni. Premi Ccontrollo+s per salvare:

Il Host parametro è sensibile agli spazi e ai caratteri speciali. Assegna un nome al tuo host utilizzando solo trattini e lettere alfanumeriche. Hostname è equivalente al nome IP o DNS. L'esempio precedente utilizza un IP di 172.25.179.190

Ora puoi vedere (nello screenshot qui sotto) che hai due target SSH:macchina di prova e test-machine-root .

5. Ora connettiti a uno degli host facendo clic con il pulsante destro del mouse sulla destinazione SSH e facendo clic su Connetti all'host nella finestra corrente come mostrato di seguito.

Se ti connetti come root, disponi di diritti di accesso completi al tuo computer, inclusi i file protetti.

Se connetti all'host in una nuova finestra , VSCode avvierà un'istanza separata con la nuova connessione. Ciò ti consente di avere entrambi root e aprire contemporaneamente in due sessioni separate. Non confondere quale è quale!


Linux
  1. Come impostare le chiavi SSH

  2. Come connettersi al server ssh con plink e cmd e chiave pubblica

  3. Come consentire SFTP e non consentire SSH?

  4. Come configurare le chiavi SSH su Ubuntu 18.04

  5. Come connettere l'host remoto usando il comando ssh

Come aggiungere la chiave SSH per l'accesso SSH cPanel

Come generare e utilizzare una chiave SSH utilizzando PuTTY

Come mi collego a Linux VPS tramite SSH da Linux e Windows OS?

Come aggiungere la mia chiave SSH a Github/Bitbucket?

Come generare e utilizzare la chiave SSH nel sistema Linux?

Come disabilitare il controllo della chiave host SSH in Linux