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.