GNU/Linux >> Linux Esercitazione >  >> Linux

Un ragazzo Windows in un mondo Linux:VS Code e SSH remoto

Benvenuto nella puntata finale della serie di post sul blog A Windows Guy in a Linux World in cui imparerai a connettere VS Code e l'host SSH remoto. Se hai seguito la serie, a questo punto dovresti già avere tutti gli strumenti e le conoscenze per iniziare a gestire in remoto le tue macchine Linux (inclusa la modifica dei file).

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

Dai un'occhiata ai post precedenti di questa serie:

  • Autorizzazioni utente e file
  • YaST e il desktop
  • Comandante di mezzanotte

Gli strumenti trattati in precedenza sono utili ma non sembrano Windows. Gli strumenti Linux possono sembrare estranei e difficili da usare rispetto a un'esperienza Windows nativa. In questo articolo finale di una serie in cinque parti, imparerai come modificare i file in modo nativo sul tuo computer Windows utilizzando Visual Studio (VS) Code per un'esperienza più moderna.

Prerequisiti

Per seguire gli esempi forniti in questo post, assicurati di avere quanto segue:

  • Codice Visual Studio per Windows. Questa guida utilizzerà la versione 1.5.1.1
  • Windows 10 (SSH è necessario e viene preinstallato)
  • Un host OpenSUSE con SSH abilitato e Midnight Commander installato

La necessità di un ottimo ambiente di editing

Linux non ha un registro centrale. A differenza di Windows, praticamente tutto su Linux ruota attorno ai file di configurazione. Ogni modifica che apporti in una GUI, ogni casella che selezioni in un'interfaccia web, ogni modifica alla configurazione che apporti, c'è un file da qualche parte che riflette quell'impostazione.

Poiché i file di configurazione sono così importanti in Linux, è necessario un ottimo editor di testo. Linux ne ha alcuni buoni tra cui l'editor di testo Midnight Commander (noto come mcedit ) trattati in precedenza.

Tuttavia, questa serie è per lavorare su Linux dal punto di vista di un utente Windows. Windows ha (probabilmente) il migliore editor di testo sul mercato. Ancora meglio:è completamente compatibile con il protocollo di comunicazione remota Linux (SSH).

Visual Studio Code:l'editor di testo preferito di Microsoft

Microsoft crea un editor di testo incredibilmente potente:Visual Studio Code. VS Code ha preso il sopravvento su quasi tutti gli altri editor di testo nell'ecosistema Microsoft per essere il modo principale per modificare i file su Windows. Potresti già avere familiarità con Visual Studio Code:è trattato frequentemente su questo sito.

Visual Studio Code è tecnicamente un IDE (Integrated Development Environment) e un editor sensibile alla sintassi. Ciò significa che puoi eseguire comandi della shell direttamente all'interno dell'editor e utilizzarlo per il debug dei tuoi script.

Non solo puoi usare VS Code per lavorare con i file in locale, ma VS Code supporta anche la modifica remota dei file su SSH. La modifica remota dei file significa che invece di navigare attraverso la riga di comando tramite un prompt SSH, puoi aprire, esplorare e modificare direttamente i file senza uscire da VS Code!

Installazione e connessione di VS Code ed estensione SSH remota

VS Code non viene fornito con il supporto SSH pronto all'uso, ma utilizzando la potenza del mercato delle estensioni, puoi aggiungere questa funzionalità. Per farlo, devi installare l'estensione SSH remota.

  1. In VS Code, dovresti vedere una barra laterale a sinistra che sembra un blocco. Fai clic sull'icona per visualizzare la casella di ricerca del Marketplace delle estensioni.

2. Digita ssh per cercare il Remoto – SSH estensione come mostrato di seguito. L'estensione ufficiale di Microsoft dovrebbe essere il risultato migliore.

3. Fai clic sul pulsante verde Installa accanto al pulsante Remoto – SSH estensione per iniziare a installarlo.

Una volta installato, dovresti immediatamente vedere una nuova icona nella barra laterale chiamata Remote Explorer come mostrato di seguito.

A questo punto, sei pronto per iniziare ad aggiungere la tua sessione SSH.

Connessione a un server di destinazione con SSH in VS Code

Vediamo ora come puoi connetterti alla tua macchina Linux remota tramite SSH e modificare alcuni file con VS Code!

  1. Fai clic su Esplora remoto icona che hai appena installato per aprire il pannello di esplorazione remota.

2. Fare clic su + simbolo nei Target SSH casella per aggiungere un nuovo server SSH a cui connettersi come mostrato di seguito.

3. Inserisci ssh @ip al prompt sulla macchina Linux di destinazione, come descritto nei prerequisiti. Per l'esempio seguente l'utente è homelab e l'ip è 172.25.179.190 .

4. Ora dovresti vedere un prompt vuoto mostrato di seguito che chiede dove salvare i dati di configurazione. Questo è il file che descrive tutte le connessioni salvate, nel caso in cui abbiamo più dispositivi Linux a cui ci colleghiamo. Per questo esempio, puoi lasciare la casella vuota per salvare nella posizione predefinita. Premi Invio per salvare la posizione predefinita (C:\users\\.ssh\config ).

5. Infine, fai clic con il pulsante destro del mouse sulla destinazione SSH appena creata e fai clic su Connetti all'host nella finestra corrente. Questa azione si connetterà alla destinazione tramite SSH e configurerà VS Code per funzionare in remoto.

Se tutto è andato bene, ora dovresti essere in grado di iniziare a configurare SSH immediatamente nella sezione successiva.

Se sei bloccato in questa fase, assicurati di poter effettivamente inviare SSH al tuo computer di destinazione. Il modo più semplice per eseguire il test è aprire una finestra di comando (su Windows 10) e testare con ssh @ . Se questo non funziona per te, neanche VSCode sarà in grado di connettersi.

Configurazione di SSH alla prima connessione

Dopo esserti connesso per la prima volta al server SSH remoto, dovrai eseguire alcune configurazioni iniziali. Come puoi vedere di seguito, VS Code chiederà il tipo di connessione che stai effettuando (Linux) e richiederà una password. Dopo un breve ritardo dovresti vedere l'angolo in basso a sinistra diventare verde e dire SSH:.

Ora sei pronto e pronto per iniziare a lavorare con il filesystem remoto!

Apertura di una cartella e di file remoti

Dopo esserti connesso per la prima volta, puoi quindi iniziare ad aprire i file sul server Linux remoto tramite SSH. Per farlo:

  1. Fai clic sulla barra laterale in alto a sinistra chiamata Explorer riquadro.

2. Fare clic sulla Apri cartella blu pulsante per aprire una cartella remota.

3. Quindi, scegli una cartella da aprire. Nell'esempio seguente, stiamo facendo riferimento alla cartella /home/.

Potrebbe essere richiesto di inserire nuovamente la password quando selezioni la cartella.

Dopo aver aperto una cartella, dovresti ottenere una rappresentazione visiva del contenuto della cartella remota nel pannello Esplora file mostrato di seguito.

La cartella di base nel pannello Esplora file è denominata spazio di lavoro . L'area di lavoro è la cartella che hai aperto nel passaggio precedente. Di seguito puoi vedere che il pannello Esplora file ora mostra il contenuto della cartella che hai aperto nell'ultimo passaggio.

Ora puoi aprire qualsiasi file (come .bashrc file nello screenshot) e VS Code lo visualizzerà automaticamente nel pannello principale, completo di evidenziazione della sintassi!

Puoi tecnicamente aprire la cartella principale (/ ) come spazio di lavoro, e quindi avere accesso all'intero filesystem (leggi di più sul file system nella seconda parte di questa serie). Tuttavia, VS Code avrà problemi a controllare automaticamente le modifiche se l'area di lavoro di destinazione è troppo grande. VSCode genererà un avviso e potrebbe essere necessario aggiornare manualmente per visualizzare le modifiche al filesystem.

Scegliere una cartella di lavoro diversa

Cosa succede se apri una cartella e i file con cui devi lavorare si trovano in una cartella diversa? In questo caso, puoi aprire un'altra cartella "base" o persino aggiungere cartelle al tuo spazio di lavoro.

Se desideri aprire una cartella completamente separata (chiudendo l'ultima), puoi farlo accedendo al File menu, facendo clic su Apri cartella e scegliendo la tua nuova cartella. Questa azione chiuderà VS Code e aprirà un nuovo spazio di lavoro.

Se desideri mantenere aperta l'altra cartella e aggiungere un'altra cartella al tuo spazio di lavoro, vai al File menu di nuovo e questa volta, fai clic su Aggiungi cartella all'area di lavoro . Da qui puoi aggiungere nuove cartelle allo spazio di lavoro esistente.

Puoi vederne una spiegazione nello screenshot qui sotto.

Ora che hai imparato a connetterti a un target e ad aprire la finestra di Explorer in una cartella, diamo un'occhiata a cosa puoi effettivamente fare con Esplora file.

Trasferimento di file tra host e target

VS Code è incredibilmente potente e il pannello di esplorazione è utile per qualcosa di più della semplice navigazione e modifica di file remoti. Puoi anche usarlo per caricare e scaricare file direttamente sul tuo server!

Caricare e scaricare file è semplice come trascinare e rilasciare. Ad esempio, per caricare un file locale sul server remoto:

  1. Vai alla cartella locale che contiene i file che desideri caricare sul server remoto.
  2. Trascina i file dalla finestra di Esplora risorse di Windows nella cartella Esplora file in VS Code.

Fatto!

Per scaricare un file:

  1. Vai ai file che desideri scaricare dal server remoto.
  2. Seleziona i file, fai clic con il pulsante destro del mouse su di essi e scegli Scarica .
  3. Scegli un posto in cui salvarli e voilà, hai scaricato i file.

Puoi vedere questi passaggi in azione di seguito.

Puoi anche tagliare, copiare, trascinare e rilasciare, creare nuovi file/cartelle e fare la maggior parte di ciò che ti aspetti da una finestra di esplorazione. Succede tutto in remoto sul server.

VS Code ha ancora un asso nella manica di SSH; puoi anche usare VS Code come terminale SSH standard!

Mentre sei connesso a un target SSH, fai clic su Visualizza menu e scegli Termina l come mostrato di seguito. VS Code aprirà una sessione SSH remota.

Puoi fare tutto ciò che puoi fare nel terminale usando direttamente SSH. Ciò include anche l'utilizzo di Midnight Commander, completo di supporto per il mouse! Di seguito puoi vedere il lancio di Midnight Commander.

VS Code sta usando il client SSH nativo di Windows sotto il cofano (7.7p1 a partire da Windows 10 v2009). Per ottenere il supporto per il mouse, avrai bisogno del client Microsoft SSH (8.1p1 al momento della stesura di questo articolo). Puoi leggere di più nella Parte IV di questa serie .

Modifica delle configurazioni protette e modifica dei file protetti

C'è uno svantaggio nell'utilizzo di VS Code rispetto alla riga di comando:non modificherà i file che richiedono diritti amministrativi per la modifica. Questi sono file che devi aprire con sudo modificare. Puoi aggirare questo problema in due modi:

sudo è il modo per elevare i comandi in Linux. È equivalente a UAC in Windows. Invece di aprire un prompt dei comandi con privilegi elevati, esegui i comandi con sudo davanti.

Proprio come una normale finestra SSH, puoi anche eseguire sudo comandi all'interno del VS Code Terminal. VS Code, tuttavia, non è in grado di salvare file che richiedono diritti amministrativi per la modifica. Ma tu puoi usa uno strumento chiamato Midnight Commander (con sudo per creare una finestra di esplorazione dentro la riga di comando VSCode con diritti amministrativi.

Nella sessione SSH remota VS Code terminal, esegui sudo mc per aprire lo strumento di gestione dei file di Midnight Commander. Una volta qui, vai ai file protetti che desideri modificare e cambiali come desideri. Non dovresti avere problemi a farlo.

Le azioni sono mostrate di seguito.

Lo svantaggio di usare sudo mc per le modifiche amministrative è abbastanza grande:sei completamente limitato all'uso del terminale VS Code. Ciò significa che la maggior parte delle funzionalità grafiche di VS Code, come il riquadro di esplorazione e persino la finestra di modifica principale, non possono essere utilizzate. Sei completamente limitato alla finestra del terminale per la navigazione.

L'utilizzo della soluzione alternativa di Midnight Commander in VS Code funzionerà ma non dovresti modificare i file protetti che Spesso. Usando sudo mc dovrebbe essere richiesto solo per apportare una piccola modifica o eseguire una configurazione una tantum.

Se hai file su cui lavori regolarmente, dovresti essere incluso nella proprietà o nel gruppo per quella cartella. In questo modo si annulla la necessità di richiedere diritti amministrativi.

Post correlato:Configurazione di una connessione SSH Key Exchange con VS Code e SSH

Concludi

Grazie a tutti coloro che sono rimasti fedeli a questa serie in cinque parti. Con la configurazione di VS Code, ora dovresti essere pronto per continuare il tuo viaggio nel mondo Linux.

Con i concetti giù, ora hai una solida base per iniziare a ramificarti nelle parti più pratiche di Linux:eseguire server, docker di apprendimento e configurare la tua infrastruttura. Resta sintonizzato e aspettati che molti altri progetti relativi a Linux compaiano qui in futuro!


Linux
  1. Interoperabilità Windows e Linux:uno sguardo a Samba

  2. Come montare la condivisione Windows remota su Linux

  3. Visualizza il codice di servizio DELL e il codice di servizio espresso da Linux e Windows

  4. 11 Utili comandi “ssh” e “scp” in Linux

  5. come eseguire il tunneling di Windows Remote Desktop tramite ssh utilizzando una macchina Linux?

Un ragazzo di Windows in un mondo Linux:utenti e autorizzazioni di file

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

Accesso remoto a Windows 10 tramite Ubuntu Linux e Vise Versa

Come utilizzare SSH per connettersi a un server remoto in Linux o Windows

Come posso montare una cartella Linux remota in Windows tramite SSH?

Desktop remoto da Windows a Linux