Accesso remoto alle reti trusted FBK

L’accesso dall’esterno alle reti FBK può avvenire con due diversi sistemi di VPN con i metodi qui descritti

Accesso via JUMPHOST SSH

L'accesso alle workstation Linux interne è disponibile anche attraverso un  SSH Jump Host: jumpsso.fbk.eu utilizzando  autenticazione basata su chiavi.

JumpSSO permette l’autenticazione usando Microsoft Entra ID, usando quindi SSO (e relativo MFA). Dopo il login vengono rilasciate delle chiavi in automatico, queste chiavi servono per superare il Jumpsso (quindi non serve richiedere l’inserimento delle stesse all’IT). Il login alla macchina di destinazione avviene:

  1. Se la macchina è gestita da IT e in dominio: tramite credenziali utente
  2. Se la macchine è gestita da IT e non in dominio: tramite l’inserimento della chiave pubblica da richiedere a [email protected]
  3. Se la macchina è autogestita: tramite l’inserimento della chiave pubblica da effettuare in autonomia

Per accedere a <hostname>.fbk.eu con la propria chiave pubblica di default il comando ssh è:

                     ssh -J <nomeUtenteDIDominio>@jumpsso.fbk.eu <nomeUtenteMacchinaDestinazione>@<macchinaDiDestinazione>.fbk.eu
                  

NB: le chiavi generate da opkssh login  sono effimere: scadono dopo 12 ore. Dopo la scadenza, per effettuare ulteriori connessioni va rilanciato il comando opkssh login (le connessioni aperte non vengono chiuse dalla scadenza delle chiavi)

Configurazione JumpSSO

Linux/Unix/MAC

  • Installare il client opkssh (scegliere uno dei tre modi)

a. scaricare il client opkssh: https://github.com/openpubkey/opkssh

b. LINUX: 

                     curl -L https://github.com/openpubkey/opkssh/releases/latest/download/opkssh-linux-amd64 -o opkssh; chmod +x opkssh 
                  

c. MAC: 

                     curl -L https://github.com/openpubkey/opkssh/releases/latest/download/opkssh-osx-amd64 -o opkssh; chmod +x opkssh
                  

CON FILE CONFIGURAZIONE (Consigliato)

  • Creare il file di config

Lanciare ./opkssh login --create-config, verrà creato il file di config e indicato dove è stato creato. Solitamente /home/<NomeUtente>/.opk/config.yml

  • Modificare il file di config

Cancellare tutto il contenuto e incollare il contenuto seguente (comprese ---):

                     ---

default_provider: azureFBK

providers:

  - alias: azureFBK

    issuer: https://login.microsoftonline.com/11d1b7a3-5e92-4744-83dc-831a43e1f967/v2.0

    client_id: 41812210-c0ca-4bb6-b60a-b77fcefe7e55

    scopes: openid profile email offline_access

    access_type: offline

    prompt: consent

    redirect_uris:

      - http://localhost:3000/login-callback

      - http://localhost:10001/login-callback

      - http://localhost:11110/login-callback

                  
  • Fare il login a opkssh
                     opkssh login

                  

Questo lancia un browser da cui è possibile fare il login.

Una volta effettuato il login viene creata la coppia di chiavi ssh  ssh~/.ssh/id_ecdsa da utilizzare per collegarsi a jumpsso.fbk.eu

  • Collegarsi in SSH (host jumpsso.fbk.eu )
                     ssh -J <nomeUtenteDIDominio>@jumpsso.fbk.eu <nomeUtenteMacchinaDestinazione>@<macchinaDiDestinazione>.fbk.eu

                  

SENZA FILE CONFIG

  • Fare direttamente il login

Lanciare:

                     opkssh login --provider https://login.microsoftonline.com/11d1b7a3-5e92-4744-83dc-831a43e1f967/v2.0,41812210-c0ca-4bb6-b60a-b77fcefe7e55
                  

Una volta effettuato il login viene creata la coppia di chiavi ssh ~/.ssh/id_ecdsa da utilizzare per collegarsi a jumpsso.fbk.eu

 

  • Collegarsi in SSH (host jumpsso.fbk.eu )
                     ssh -J <nomeUtenteDIDominio>@jumpsso.fbk.eu <nomeUtenteMacchinaDestinazione>@<macchinaDiDestinazione>.fbk.eu
                  

POSSIBILI PROBLEMI

  • Permessi della chiave

Cambiare i permessi con:

                     chmod 600 ~/.ssh/id_ecdsa
chmod 644 ~/.ssh/id_ecdsa.pub

                  
  • Più chiavi esistenti

Una soluzione più flessibile è creare un file di configurazione separato, config_jump:

COPIARE LE INFO DI SEGUITO in .ssh/config CAMBIANDO I DATI DI <FBK_login_name> e <host_user>

                     # Define the jumphost
Host jumpsso
  Hostname jumpsso.fbk.eu
  User <FBK_login_name>
  # Specify a non default private key
  IdentityFile ~/.ssh/id_ecdsa

# Match all host except jumphost
Host * !jumpsso
  Hostname %h
  # Specify a default user name
  User <host_user>
  # Specify a default private key
  IdentityFile ~/.ssh/private_key_file

                  

Windows

Utilizzare powershell

CON FILE CONFIGURAZIONE (Consigliato)

Per utilizzarlo è necessario:

  • Installare il client opkssh (scegliere uno dei tre modi)

a. scaricare il client opkssh: https://github.com/openpubkey/opkssh

b. winget install openpubkey.opkssh

c. choco install opkssh -y

È preferibile utilizzare un gestore di pacchetti (choco o winget)

  • Creare il file di configurazione (SE NON PRESENTE) scegliendo uno dei due modi:

a. Creare la cartella .opk in C:\Users\<NomeUtente>\ e dentro la cartella creare config.yml 

b. New-Item -Path "C:\Users\<NomeUtente>\.opk\config.yml" -ItemType File -Force

  • Modificare il file di configurazione (SE NON PRESENTE)

Aprire il file in C:\Users\<NomeUtente>\.opk\config.yml e copiare la config di seguito:

                     ---
default_provider: azureFBK

providers:
  - alias: azureFBK
    issuer: https://login.microsoftonline.com/11d1b7a3-5e92-4744-83dc-831a43e1f967/v2.0
    client_id: 41812210-c0ca-4bb6-b60a-b77fcefe7e55
    scopes: openid profile email offline_access
    access_type: offline
    prompt: consent
    redirect_uris:
      - http://localhost:3000/login-callback
      - http://localhost:10001/login-callback
      - http://localhost:11110/login-callback
                  
  • Collegarsi in SSH (host jumpsso.fbk.eu )

Lanciare il comando:

                     opkssh login
                  

Questo lancia un browser da cui è possibile fare il login.

Una volta effettuato il login viene creata la coppia di chiavi ssh .ssh/id_ecdsa da utilizzare per collegarsi a jumpsso.fbk.eu

  • Collegarsi in SSH (host jumpsso.fbk.eu )
                     ssh -J <nomeUtenteDIDominio>@jumpsso.fbk.eu <nomeUtenteMacchinaDestinazione>@<macchinaDiDestinazione>.fbk.eu
                  

SENZA FILE CONFIG

In alternativa, se non si vuole utilizzare un file di configurazione, vanno seguiti questi passaggi:

  • Fare login su opkssh

Lanciare questo comando:

                     opkssh login --provider https://login.microsoftonline.com/11d1b7a3-5e92-4744-83dc-831a43e1f967/v2.0,41812210-c0ca-4bb6-b60a-b77fcefe7e55
                  

 

  • Collegarsi in SSH (host jumpsso.fbk.eu )
                     ssh -J <nomeUtenteDIDominio>@jumpsso.fbk.eu <nomeUtenteMacchinaDestinazione>@<macchinaDiDestinazione>.fbk.eu
                  

POSSIBILI PROBLEMI

  • Permessi della chiave (scegliere uno dei due modi)

La chiave generata è C:\User\<NomeUtente>\.ssh\id_ecdsa e vanno cambiati i permessi in uno di questi modi:

a. Tasto destro sulla chiave, proprietà, Security, Avanzate, Disabilita ereditarietà, e togliere tutti gli utenti tranne quello che utilizza effettivamente la chiave

b. icacls "C:\Users\<NomeUtente>\.ssh\id_rsa" /inheritance:r /grant:r "<NomeUtente>:F" 

  • Più chiavi in essere

Una soluzione più flessibile è creare un file di configurazione separato, config_jump:

COPIARE LE INFO DI SEGUITO in C:\Users\<NomeUtente>\.ssh CAMBIANDO I DATI <FBK_login_name> e <host_user>

                     # Define the jumphost
Host jumpsso
  Hostname jumpsso.fbk.eu
  User <FBK_login_name>
  # Specify a non default private key
  IdentityFile ~/.ssh/id_ecdsa

# Match all host except jumphost
Host * !jumpsso
  Hostname %h
  # Specify a default user name
  User <host_user>
  # Specify a default private key
  IdentityFile ~/.ssh/private_key_file

                  

Linux/Unix/Mac/Windows10 scp

La sintassi della copia via ssh (Secure copy) è:

Prima di tutto va fatto opkssh login

                     scp -o ProxyJump=<FBK_login_name>@jumpsso.fbk.eu local_path  <FBK_login_name>@<hostname>.fbk.eu:remote_path

                  

Mentre con una chiave pubblica separata il comando diventa:

Prima di tutto va fatto opkssh login

                     scp -o ProxyCommand="ssh -i  ~/.ssh/jump_key   -W %h:22 <fbk_login_name>@jumpsso.fbk.eu" - i~/.ssh/jump_key  local_path <fbk_login_name>@<hostname>.fbk.eu:remote_path local_path
                  

Più semplice è la copia via file di configurazione config_jump (vedi punto sopra):

Prima di tutto va fatto opkssh login

                     scp -F config_jump local_path <FBK_login_name>@<hostname>.fbk.eu:remote_path
                  

NB: -o, -F devono precedere ogni altra opzione

Linux/Unix/Mac rsync

Per utilizzare il remote sync con la chiave di default, si deve aggiungere al comando rsync:

                     --rsh "ssh -J <FBK_login_name>@jumpsso.fbk.eu -l <host_user_name>i"
                  

Per utilizzare il remote sync con una chiave diversa, si deve aggiungere al comando rsync:

                     --rsh "ssh -o ProxyCommand='ssh -W %h:22 <fbk_login_name>@jumpsso.fbk.eu'- i ~/.ssh/jump_key  -l <host_user_name>"

                  

Il remote sync con file configurazione richiede di aggiungere al comando rsync:

                      --rsh "ssh -F config_jump"

                  

Windows MobaxTerm

Su Windows 10/11 consigliamo di utilizzare il client openssh integrato che ha una migliore user experience di MobaxTerm. Anche in questo caso le chiavi scadendo ogni 12 ore devono essere importate nuovamente dentro moba dopo aver fatto opkssh login.

MobaXterm può utilizzare un jump host per collegarsi.

Creata  una sessione, in Basic SSH Settings si deve inserire <hostname>.fbk.eu as Remote host, abilitare  Specify Username e aggiungere <host_User_name>.

In Advanced SSH Settings abilitare Use private key e scegliere la relativa chiave ssh (formato openssh).

Infine in Network Settings cliccare su SSH gateway

Inserire jumpsso.fbk.eu in gateway e specificare <fbk_login_name> come User, abilitare Use private key e scegliere la relativa chiave ssh (quella generata dal login di opkssh).

Generazione chiavi SSH con MOBAXTERM

Per la generazione ed utilizzo delle chiavi ssh in MobaxTerm vedere la documentazione ufficiale:  https://mobaxterm.mobatek.net/documentation.html#6_3_2

Le chiavi  generate servono per accedere alla macchina di destinazione e non a jump

Windows PuTTY

Su Windows 10/11 consigliamo di utilizzare il client openssh integrato che ha una migliore user experience di PuTTY. Le chiavi di opkssh scadono ogni 12 ore. Quindi ogni 12 ore devono essere importate nuovamente dentro putty dopo aver fatto opkssh login.

Se si desidera comunque utilizzare putty è necessario installare opkssh e la configurazione di putty può essere fatta seguendo questa guida: https://github.com/openpubkey/opkssh/blob/main/docs/putty.md

GENERAZIONE CHIAVI SSH CON PUTTY

Per la generazione ed utilizzo delle chiavi ssh in Putty sotto windows: Use SSH Keys With PuTTY On Windows oppure https://www.ssh.com/ssh/putty/windows/puttygen

La chiave pubblica generata serve per accedere alla macchina di destinazione e NON a jump

Windows WinSCP

WinSCP può importare ed utilizzare Putty configurations.

Ogni configurazione JumpHost di Putty viene trasformata nell'importazione in una configurazione scp via JumpHost con WinSCP. 

Come per Putty  la chiave ssh deve essere prima inserita in Pageant.

La configurazione manuale di JumpHost  si trova in  Advanced Site Settings, sezione Connection->Proxy

Messaggi di errore

Messaggi di errore comuni sono:

  • <login_name>@jumpsso.fbk.eu: Permission denied (publickey). 
    Rifare il login su jumpsso con opkssh login
  • Received disconnect from 217.77.82.20 port 22:2: Too many authentication failures.
    Tutte le chiavi ssh private trovate in $ HOME / .ssh / vengono inviate al server una alla volta. Per evitare un attacco basato sulle chiavi, dopo 3 tentativi il jump host nega l'accesso. Utilizzare le direttive IdentitiesOnly e IdentityFile (vedere man ssh config) o il file di configurazione alternativo sopra descritto. 
  • Login prompt from internal host
    La chiave ssh pubblica registrata per il jump host non è presente nel  $HOME / .ssh_authorized_keys del server interno.

Per messaggi di errore differenti, inviare una notifica a [email protected]

BASTION

L'accesso remoto alle workstation interne è disponibile senza l’ausilio di alcuna VPN tramite browser connettendosi a bastion.fbk.eu con le proprie credenzili FBK.

I tipi di protocollo supportati sono: SSH, VNC o RDP.
Per accedere al servizio inviare un e-mail a [email protected] con soggetto "Add new connection on Bastion" e specificando le seguenti informazioni:

  • Tipo di protocollo: VNC, SSH o RDP
  • Nome della workstation a cui ci si vuole collegare
  • Porta di ascolto vncserver precedentemente configurata dall’utente (Solo per connessioni VNC)

Una volta processata la richiesta verrà resa disponibile al richiedente la connessione alla workstation: essa sarà quindi visibile su bastion.fbk.eu

Richiesta connessione VPN

I metodi di accesso alla rete trusted FBK descritti in precedenza coprono la maggior parte delle esigenze degli utenti FBK.

Se fosse necessario necessario l'uso della connessione in VPN, dal 6/10/25, è disponibile la nuova VPN con autenticazione integrata con Microsoft. Per ottenerla l'utente deve mandare un'email ad [email protected] con soggetto "Richiesta abilitazione VPN", specificando:

  • perchè vuole usare la connessione in VPN
  • se il computer dal quale apre la connessione è autogestito o gestito da FBK

Tutte le informazioni sono reperibili a questo link.

 

DOMANDE E DUBBI FREQUENTI

F.A.Q.

Come faccio a connettermi alla rete di FBK da casa/università?

Per connettersi alla rete trusted FBK, nella maggior parte dei casi, si possono usare BASTION e JUMPHOST. Per particolari esigenze, mandare un e-mail a [email protected].

Download