Acceso y control remoto de Linux

Acceso y control remoto

Protocolo SSH

Es un protocolo de canal seguro
para proporcionar un entorno de shell seguro para los clientes para la administración remota.
Puerto predeterminado: TCP 22

Servicio OpenSSH

Nombre del servicio:
programa principal del servidor sshd : / usr / sbin /
archivo de configuración del servidor sshd : / etc / ssh / sshd_config

Clave Clave
simétrica: la misma clave se utiliza para el cifrado y el descifrado. El cifrado AES DES 3DES es rápido, pero inseguro
Clave asimétrica: El cifrado y el descifrado utilizan diferentes claves, divididas en clave pública y clave privada. No es posible derivar otra clave de una clave. El cifrado RSA es lento y seguro

ssh_config: para el cliente
sshd_config: para el servidor
Número de puerto de modo de acceso
SSH: acceso de texto cifrado puerto predeterminado TCP: 22, WAN general
Telnet: acceso de texto sin formato TCP 23,
opciones generales de monitoreo del servicio LAN
Número de puerto, versión de protocolo, dirección IP de escucha

Desactivar la resolución inversa
para el inicio de sesión remoto

[root@localhost ~]# hostnamectl set-hostname test01
[root@localhost ~]# su
[root@test01 ~]# netstat -ntap | grep 22
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      9748/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      9135/sshd           
tcp        0      0 20.0.0.41:22            20.0.0.1:50684          ESTABLISHED 73425/sshd: root@pt 
tcp6       0      0 :::22                   :::*                    LISTEN      9135/sshd           
[root@test01 ~]# grep  "bash" /etc/passwd
root:x:0:0:root:/root:/bin/bash
hu:x:1000:1000:hu:/home/hu:/bin/bash
[root@test01 ~]# useradd zhangsan
[root@test01 ~]# passwd zhangsan
在另一台主机上
[root@localhost ~]# hostnamectl set-hostname test02
[root@localhost ~]# su
[root@test02 ~]# ssh [email protected]
The authenticity of host '20.0.0.41 (20.0.0.41)' can't be established.
ECDSA key fingerprint is SHA256:W+MleaejDosjJJV1F2noJPAGWA/d2qESydwosqTqWWw.
ECDSA key fingerprint is MD5:68:5f:ee:e5:76:ca:96:01:5d:d8:b9:1f:4b:5a:58:91.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '20.0.0.41' (ECDSA) to the list of known hosts.
[email protected]'s password: 
Last login: Mon Jul 13 11:26:09 2020
[root@test01 ~]# 
[root@test01 ~]# exit  //退出当前bash环境
登出
Connection to 20.0.0.41 closed.

[root@test01 ~]# vim /etc/ssh/sshd_config
...
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

Inserte la descripción de la imagen aquí
Control de inicio de sesión de usuario
Prohibir usuarios raíz, usuarios con contraseñas vacías
Limitar el tiempo de autenticación de inicio de sesión y el número de reintentos
Permitir usuarios (lista blanca, solo permitir ciertos usuarios, denegar a todos, ocasiones de alta seguridad)
Denegar usuarios (lista negra, solo denegar ciertos usuarios, permitir todos Ocasiones de baja seguridad con personas)

No use AllowUsers y DenyUsers al mismo tiempo

[root@localhost ~]# vim /etc/ssh/sshd_config 
……
#LoginGraceTime 2m  //会话时间
#PermitRootLogin yes  //允许管理员进行登录
#StrictModes yes
#MaxAuthTries 6  //最大尝试次数
#MaxSessions 10  //最大会话连接
AllowUsers zhangsan [email protected]

Inserte la descripción de la imagen aquí

Método de
autenticación Autenticación de contraseña: compruebe si el nombre de usuario y la contraseña coinciden
Autenticación de par de claves: compruebe si la clave privada del cliente y la clave pública del servidor coinciden
[root @ localhost ~] # vim / etc / ssh / sshd_config
……
PasswordAuthentication sí Si se debe utilizar una contraseña
PermitEmptyPasswords no Prohibir contraseña vacía
PubkeyAuthentication yes Habilitar autenticación de clave pública
AuthorizedKeysFile .ssh / authorized_keys Especificar la ubicación del almacén de claves públicas

Construya un sistema ssh para la verificación de pares de claves

Proceso de realización general
Inserte la descripción de la imagen aquí

Cree un sistema SSH para la verificación del par de claves.
Cree un
comando ssh-keygen del par de claves en el cliente.
Algoritmos de cifrado disponibles: RSA, ECDSA o DSA
. Cargue el archivo de clave pública al servidor de
cualquier forma (FTP, correo electrónico, SCP, HTTP ... )
Importe el texto de la clave pública en el servidor.
Agregue el texto de la clave pública al almacén de claves públicas del usuario de destino.
Ubicación predeterminada del almacén de claves públicas: ~ / .ssh / allowed_keys
[root @ test01 ~] # vim / etc / ssh / sshd_config
Inserte la descripción de la imagen aquíInserte la descripción de la imagen aquí

[root@test01 ~]# systemctl restart sshd

[root@test02 ~]# useradd lisi
[root@test02 ~]# passwd lisi
[root@test02 ~]# su lisi
[lisi@test02 root]$ ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/lisi/.ssh/id_ecdsa): 
Created directory '/home/lisi/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/lisi/.ssh/id_ecdsa.
Your public key has been saved in /home/lisi/.ssh/id_ecdsa.pub.
The key fingerprint is:
SHA256:h1Nb+dtsaNr/+oDgDc9gbtKDX+63gas3cZ9yyxPdX30 lisi@test02
The key's randomart image is:
+---[ECDSA 256]---+
|                 |
|             .   |
|          . o    |
|         o o .   |
|        S B   . +|
|         O B.o.*E|
|        o * Bo*.X|
|         + +o*oBo|
|          o+=o*BB|
+----[SHA256]-----+
[lisi@test02 root]$ cd ~
[lisi@test02 ~]$ cd .ssh/
[lisi@test02 .ssh]$ ls -a
.  ..  id_ecdsa  id_ecdsa.pub
[lisi@test02 .ssh]$ ssh-copy-id -i id_ecdsa.pub [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_ecdsa.pub"
The authenticity of host '20.0.0.41 (20.0.0.41)' can't be established.
ECDSA key fingerprint is SHA256:W+MleaejDosjJJV1F2noJPAGWA/d2qESydwosqTqWWw.
ECDSA key fingerprint is MD5:68:5f:ee:e5:76:ca:96:01:5d:d8:b9:1f:4b:5a:58:91.
Are you sure you want to continue connecting (yes/no)? yes
/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
[email protected]'s password: 

Number of key(s) added: 1

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

[root@test01 ~]# cd /home/zhangsan
[root@test01 zhangsan]# ls -a
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .cache  .config  .mozilla  .ssh
[root@test01 zhangsan]# cd .ssh/
[root@test01 .ssh]# ls -a
.  ..  authorized_keys
[root@test01 .ssh]# cat authorized_keys 
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDUz9pe7DeEX87424oxSLxGB7RCbr0KwA6mDMaq4oyuU0FfgeQ7J9+VusH1+UgPVAwvCtoLUT+W8xi12dvHtmdQ= lisi@test02
[root@test01 .ssh]# 

[lisi@test02 .ssh]$ ssh [email protected]
Enter passphrase for key '/home/lisi/.ssh/id_ecdsa': 
Last login: Mon Jul 13 11:48:11 2020
[zhangsan@test01 ~]$ 

Configurar inicio de sesión sin contraseña

[lisi@test02 .ssh]$ ssh-agent bash  //代理终端
[lisi@test02 .ssh]$ ssh-add  //添加免密密码
Enter passphrase for /home/lisi/.ssh/id_ecdsa: 
Identity added: /home/lisi/.ssh/id_ecdsa (/home/lisi/.ssh/id_ecdsa)

[lisi@test02 .ssh]$ ssh [email protected]
Last login: Mon Jul 13 12:10:36 2020 from 20.0.0.51
[zhangsan@test01 ~]$ 

Utilice el programa cliente
SSH comando ssh-inicio de sesión seguro remoto
comando scp-copia segura remota
comando sftp-descarga FTP segura

Descripción general de los envoltorios TCP

Principio de protección
Inserte la descripción de la imagen aquí
La realización del mecanismo de protección
Método 1: Empaquete otros programas de servicio a través del programa tcpd
Método 2: Otros programas de servicio llaman libwrap.so. *. Biblioteca de enlaces
Archivo de configuración de políticas de control de acceso
/etc/hosts.allow
/ etc / hosts.deny

Establecer la política de control de acceso
Formato de la política
Lista de servicios: lista de direcciones del cliente Lista de
servicios
Varios servicios están separados por comas, TODOS significa todos los servicios
Lista de direcciones del cliente
Varias direcciones están separadas por comas, TODOS significa todos los servicios
Comodines * y?
Dirección de segmento de red, como 192.168.1 o 192.168.1.0/255.255.255.0
dirección de área, como .benet.com

El orden de la aplicación de la política
Primero verifique hosts.allow, si se encuentra una coincidencia, el acceso está permitido,
luego verifique hosts.deny,
si se encuentra, el acceso es denegado. Si no hay una política coincidente en los dos archivos, el acceso está permitido de manera predeterminada

Supongo que te gusta

Origin blog.csdn.net/weixin_46355881/article/details/107352853
Recomendado
Clasificación