En realidad, SSH requiere que configures diferentes claves para diferentes usuarios.
Cada cuenta de usuario en la máquina de destino tiene su propio ~/.ssh/authorized_keys
(no necesariamente tiene que tener, puede que no exista).
Supongamos que tienes server
y client
.
server
ha configurado los usuarios de la siguiente manera:
/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
tiene tres cuentas cli_user01
, cli_user02
y cli_user03
.
En client
machine:
-
cli_user01
puede ejecutar ssh srv_user01@server
e iniciar sesión en server
como srv_user01
-
cli_user02
no puede conectarse a server
en absoluto
-
cli_user03
puede ejecutar:
-
ssh srv_user01@server
e inicie sesión en server
como srv_user01
, o
-
ssh srv_user03@server
e inicie sesión en server
como srv_user03
- ningún usuario puede conectarse e iniciar sesión como
srv_user02
en server
En el ejemplo anterior, utilicé nombres diferentes en el lado del cliente y del servidor, pero si el nombre de la cuenta era el mismo en client
y server
, el usuario no tiene que especificar el nombre de la cuenta en el comando ssh
, por lo tanto Haciendo la impresión de "logging to server". Entonces, si inicio sesión como user
en el cliente y ejecuto ssh server
ー es lo mismo que ssh user@server
.
El proceso server
one sshd
escucha en el puerto 22 (predeterminado) y recibe conexiones de cada uno de los usuarios conectados.