Table of Contents
Sessioni SSH da Visual Studio Code
Visual Studio Code o VSC è un ambiente di sviluppo integrato (IDE o Integrated Development Environment) sviluppato e mantenuto da Microsoft e rilasciato sotto licenza MIT (quindi gratuito).
VSC permette di lavorare usando un server remoto. Questo grazie ad una connessione SSH ed ad un mini vscode-server che viene installato nella \${HOME}/.vscode-server e che "rimane in contatto" con il client in esecuzione sul PC grazie ad un socket linux definito in una sotto-directory di \${HOME}/.vscode-server
Preparazione ambiente Linux AFS
Siccome le \${HOME} degli utenti nei server della sezione INFN di Lecce sono su OpenAFS, nel cui spazio non è possibile creare files di tipo socket, per poter usare VSC con connessioni SSH verso i nostri server è necessario far puntare \${HOME}/.vscode-server ad una directory su filesystem Linux
- rinominare, se esiste, \${HOME}/.vscode-server in \${HOME}/.vscode-server-backup
- creare una apposita directory in /tmp (mkdir -p /tmp/\${UID}/vscode-server)
- creare un link simbolico (ln -s \${HOME}/.vscode-server /tmp/\${UID}/vscode-server)
Configurazione SSH (jump host)
Tutti i server Linux della sezione INFN di Lecce sono accessibili via SSH solo dalla LAN o dal bastion che coincide con il server di login pubblica login.le.infn.it.
E' possibile configurare il client SSH in modo che effettui in modo trasparente un "salto" sul bastion e quindi l'accesso al server interno di interesse.
Ecco un esempio del file di configurazione del client SSH $HOME/.ssh/config (su client unix-like come Linux o macOS)
Host lecce-hop User enrico HostName login.le.infn.it Port 22 IdentityFile ~/.ssh/id_rsa IPQoS lowdelay throughput Host gpu-vscode HostName gpu-0.le.infn.it User enrico Port 22 ProxyJump lecce-hop KexAlgorithms +diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 GSSAPIAuthentication yes GSSAPIDelegateCredentials yes IdentityFile ~/.ssh/id_rsa IPQoS lowdelay throughput
Sessione SSH remota
Su VSC aprire una sessione SSH remota selezionando come host gpu-vscode (se definito come nell'esempio)