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.