SSH richiede in realtà di configurare chiavi diverse per utenti diversi.
Ogni account utente sul computer di destinazione ha il suo ~/.ssh/authorized_keys (non necessariamente necessario, potrebbe non esistere).
Supponiamo che tu abbia server e client .
server ha impostato gli utenti come segue:
/home/srv_user01
/.ssh/authorized_keys
--> contains public key of cli_user01
and public key of cli_user03
/home/srv_user02
/.ssh/authorized_keys
--> empty or non-existing
/home/srv_user03
/.ssh/authorized_keys
--> contains public key of cli_user03
client ha tre account cli_user01 , cli_user02 e cli_user03 .
On client machine:
-
cli_user01 può eseguire ssh srv_user01@server e accedere a server come srv_user01
-
cli_user02 non può connettersi a server affatto
-
cli_user03 può essere eseguito:
-
ssh srv_user01@server e accedi a server come srv_user01 o
-
ssh srv_user03@server e accedi a server come srv_user03
- nessun utente può connettersi e accedere come
srv_user02 su server
Nell'esempio sopra ho usato nomi diversi sul lato client e server, ma se il nome dell'account era lo stesso su client e server , l'utente non deve specificare il nome dell'account in ssh comando, quindi dando l'impressione di "logging to server". Quindi, se sono connesso come user sul client ed eseguo ssh server ー è uguale a ssh user@server .
On server one sshd process ascolta sulla porta 22 (impostazione predefinita) e riceve connessioni da ciascuno degli utenti che si connettono.