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:
- Se la macchina è gestita da IT e in dominio: tramite credenziali utente
- Se la macchine è gestita da IT e non in dominio: tramite l’inserimento della chiave pubblica da richiedere a [email protected]
- 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].