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
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
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
Su VSC aprire una sessione SSH remota selezionando come host gpu-vscode (se definito come nell'esempio)