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.
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.
- Apri PowerShell sul tuo computer locale ed esegui ssh-keygen . Il percorso predefinito per le tue chiavi è C:\users\
\.ssh. - Fornire il percorso della cartella per salvare la chiave privata e pubblica. L'impostazione predefinita è C:\Utenti\
\.ssh\id_rsa . - 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\
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
- 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. - Crea il .ssh cartella nella tua home directory e carica id_rsa.pub file.
- 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 richiedesudo
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
- 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/
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\
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.
- 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 di172.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
eaprire contemporaneamente in due sessioni separate. Non confondere quale è quale!