Linux realiza el inicio de sesión sin contraseña SSH en otros servidores

Visión de conjunto

Rsync debe ingresar la contraseña del servidor de destino cada vez que se sincronizan varias máquinas. Esto es muy problemático. Podemos usar SSH para lograr un inicio de sesión sin contraseña.

Principio de Xshell

Debe ingresar el nombre de usuario, la contraseña y el nombre de host cada vez que se conecte al servidor Linux a través de Xshell. No es necesario que ingrese una contraseña cada vez que se conecte. Solo la primera conexión requiere una contraseña.

De hecho, la primera vez que se conecta, en realidad es un proceso para establecer una confianza. De hecho, el servidor genera una clave para que la guarde.

por ejemplo

El usuario a de la máquina A quiere usar la identidad del usuario B para iniciar sesión en la máquina B en la máquina A. Se requieren las siguientes operaciones:

Pasos:
①Usuario a de la máquina A, genera un par de
comandos de shell clave en la máquina A :

ssh-keygen -t rsa

ssh-keygen significa generar una clave, rsa es el nombre del algoritmo para generar la clave

②La clave generada se divide en clave pública y clave privada. El usuario a necesita copiar la clave pública al archivo authorithxxxx_keys en el directorio de inicio del usuario b en la máquina B.
Hay dos formas de copiar: Se
recomienda usar el método 2 directamente, que es simple y grosero . El método 1 es solo para entender.
Método 1:
a) Use el usuario b para iniciar sesión en la máquina B
b) Edite authorithxxxx_keys y agregue el contenido de la clave pública
Método 2: Los
pasos anteriores están en la máquina A, use el usuario a para ejecutar el siguiente comando: ssh- copy-id b @ B puede completar los dos pasos anteriores

③ El usuario a de la máquina A puede usar ssh b @ B para iniciar sesión.

Manifestación

De forma predeterminada, se requiere una contraseña para iniciar sesión,

[root@zjj101 demo]# ssh root@zjj102
root@zjj102's password: 
Last login: Thu Oct 15 09:37:00 2020 from 172.16.10.182
[root@zjj102 ~]# ^C
[root@zjj102 ~]# exit
登出
Connection to zjj102 closed.
[root@zjj101 demo]# 

Genere la clave pública y la clave privada, guarde el contenido entre paréntesis por defecto, solo presione Enter tres veces,

[root@zjj101 demo]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:36l76tMgE8NF4emz1eg1Cdpja1S3u8kiOSoT3LjgM2E root@zjj101
The key's randomart image is:
+---[RSA 2048]----+
|         .o.     |
|         ...     |
|       . .o . . .|
|        +. o = o.|
|      . So+ B =. |
|     E +oo.O = ..|
|    o o ooooB  . |
|     + +  .*o.. o|
|      o oo*=o .+ |
+----[SHA256]-----+
[root@zjj101 demo]# 

El directorio es un directorio oculto. Si necesita entrar y
verlo, debe usar ls -al para verlo,
o directamente cd a /root/.ssh/

[root@zjj101 demo]# cd /root/.ssh/
[root@zjj101 .ssh]# ls
id_rsa  id_rsa.pub  known_hosts
[root@zjj101 .ssh]# cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDq6Z1CKsbHw2nqycGXjnoxbi2l+DQt5Hnv5OmMjx8DdB1AxUBxwGZwWSMAWbqiOpbHOlOkHUgNPEXhv1AKP+Bg+W/v3w2xBgBI/YQpSTgMQCoKBzT1GNtrn3VgZ2X/k3PDzS17WCBvhO2InWAMIBhqT+ik2i+viTBYOD9AogyWoCe42zL8aTE7eQfCyzf/xMbaMd4Yll1JeRNPgYN6VzLW5LqXb3O5DHwcUsed0M659gboCRqcpARrvtXkeiZt7kyuJb2DOv6ADPINWA9iDwPYMXK44KUm3HnsnFo1yGpyVbtuDW/zZSPf5eaM0QmRGTZ2OpxWvExlzzGthUu0jRl7 root@zjj101
[root@zjj101 .ssh]# 

id_rsa clave privada id_rsa.pub es la clave pública

Camino 2

El método 1 debe copiarse manualmente, lo cual es muy problemático. Si necesita Baidu usted mismo, puede demostrar directamente el método 2.
ssh-copy-id xxx

[root@zjj101 .ssh]# ssh-copy-id root@zjj102
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@zjj102's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@zjj102'"
and check to make sure that only the key(s) you wanted were added.

[root@zjj101 .ssh]#

Inicie sesión directamente, inicie sesión en zjj102 sin ingresar la contraseña a continuación

[root@zjj101 .ssh]# ssh root@zjj102
Last login: Thu Oct 15 10:27:23 2020 from zjj101
[root@zjj102 ~]# 

Verifique si la escritura es exitosa,
puede ver que las claves_autorizadas ya tienen el contenido.En circunstancias normales, dado que la contraseña no se ingresó en los pasos anteriores, debe ser exitosa.

[root@zjj102 ~]# cd /root/.ssh/
[root@zjj102 .ssh]# ls
authorized_keys
[root@zjj102 .ssh]# cat authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDq6Z1CKsbHw2nqycGXjnoxbi2l+DQt5Hnv5OmMjx8DdB1AxUBxwGZwWSMAWbqiOpbHOlOkHUgNPEXhv1AKP+Bg+W/v3w2xBgBI/YQpSTgMQCoKBzT1GNtrn3VgZ2X/k3PDzS17WCBvhO2InWAMIBhqT+ik2i+viTBYOD9AogyWoCe42zL8aTE7eQfCyzf/xMbaMd4Yll1JeRNPgYN6VzLW5LqXb3O5DHwcUsed0M659gboCRqcpARrvtXkeiZt7kyuJb2DOv6ADPINWA9iDwPYMXK44KUm3HnsnFo1yGpyVbtuDW/zZSPf5eaM0QmRGTZ2OpxWvExlzzGthUu0jRl7 root@zjj101
[root@zjj102 .ssh]# 

Cancelar inicio de sesión sin contraseña

Simplemente borre la información de clave pública relevante en el archivo autorizado_keys de /root/.ssh/ del servidor de destino.

[root@zjj102 ~]# cd /root/.ssh/
[root@zjj102 .ssh]# ls
authorized_keys
[root@zjj102 .ssh]# cat authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDq6Z1CKsbHw2nqycGXjnoxbi2l+DQt5Hnv5OmMjx8DdB1AxUBxwGZwWSMAWbqiOpbHOlOkHUgNPEXhv1AKP+Bg+W/v3w2xBgBI/YQpSTgMQCoKBzT1GNtrn3VgZ2X/k3PDzS17WCBvhO2InWAMIBhqT+ik2i+viTBYOD9AogyWoCe42zL8aTE7eQfCyzf/xMbaMd4Yll1JeRNPgYN6VzLW5LqXb3O5DHwcUsed0M659gboCRqcpARrvtXkeiZt7kyuJb2DOv6ADPINWA9iDwPYMXK44KUm3HnsnFo1yGpyVbtuDW/zZSPf5eaM0QmRGTZ2OpxWvExlzzGthUu0jRl7 root@zjj101

Supongo que te gusta

Origin blog.csdn.net/qq_41489540/article/details/109091590
Recomendado
Clasificación