Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Nombre del servicio: sshd
Programa principal del servidor: /usr/sbin/sshd
Archivo de configuración del servidor: /etc/ssh/sshd config
Cliente SSH: PuTTY, Xshell, CRT, MobaXterm, FinalShell
Servidor SSH: OpenSSH
Servidor SSH: de forma predeterminada, se utiliza el puerto TCP 22 y la versión del protocolo de seguridad es sshv2 Además de 2, también hay 1 (con lagunas).
El servidor ssh incluye principalmente dos funciones de servicio: enlace remoto ssh y servicio sftp.
Función: El servicio SSHD utiliza el protocolo SSH para realizar control remoto o transferir archivos entre computadoras.
En comparación con el uso anterior de Telnet para transferir archivos, es mucho más seguro porque Telnet usa transmisión de texto claro y SSH usa transmisión cifrada.
OpenSSH es un proyecto de software de código abierto que implementa el protocolo SSH y es adecuado para varios sistemas operativos UNIX y Linux. El sistema Centos 7 tiene paquetes de software relacionados con openssh instalados de forma predeterminada y el servicio sshd se agrega para iniciarse automáticamente en el arranque.
[Sin embargo, la versión 7 tiene problemas y vulnerabilidades y necesita ser actualizada. La última versión es actualmente 9.8].
Ver versión:ssh-V
Ejecute el comando "systemctl start sshd" para iniciar el servicio sshd
Tanto ssh_config como sshd_config son archivos de configuración para el servidor ssh. La diferencia entre los dos es que el primero es un archivo de configuración para el cliente y el segundo es un archivo de configuración para el servidor.
SSH se utiliza básicamente para administrar sistemas Linux de forma remota. La razón es muy simple: los métodos de transmisión como telnet y FTP transmiten información de autenticación del usuario en texto claro, lo cual es intrínsecamente inseguro y presenta un riesgo de escuchas ilegales en la red. SSH (Secure Shell) es actualmente más confiable.
Es un protocolo diseñado para brindar seguridad para sesiones de inicio de sesión remotas y otros servicios de red. El uso del protocolo SSH puede prevenir eficazmente la fuga de información durante la administración remota. Todos los datos transmitidos se pueden cifrar a través de SSH, y también se puede evitar la suplantación de DNS y la suplantación de IP.
1.3.1. Método de inicio de sesión uno.
ssh [nombre de usuario del host remoto] @[nombre de host del servidor remoto o dirección IP] -p puerto
Si desea utilizar el nombre de usuariolisi
La identidad conectada a la dirección IP es192.168.1.100
servidor, y el servicio SSH del servidor se ejecuta en el puerto22
, debes usar el siguiente comando:
当在 Linux 主机上远程连接另一台 Linux 主机时,如当前所登录的用户是 root 的话,当连接另一台主机时也是用 root 用户登录时,可以直接使用 ssh IP,端口默认即可,如果端口不是默认的情况下,需要使用-p 指定端口。
adjunto
mapeo de host
1.3.2. Método de inicio de sesión dos.
ssh -l [nombre de usuario del host remoto] [nombre de host del servidor remoto o dirección IP] -p puerto
-l: opción -l, especifica el nombre de inicio de sesión.
-p: opción -p, especifica el puerto de inicio de sesión (cuando el puerto del servidor no es el predeterminado, debe usar -p para especificar el puerto para iniciar sesión)
(no muy usado)
Consulta sobre clave pública
Consulta sobre el cliente
El servidor consulta su propia clave pública.
Nota: El sistema no guarda la información del host remoto cuando inicia sesión en el servidor por primera vez. Para confirmar la identidad del host, se le preguntará al usuario si desea continuar con la conexión. En este momento, el sistema escribirá la información del servidor remoto en $HOME en el directorio de inicio del usuario /.ssh/known_hosts. La próxima vez que inicie sesión, debido a que la información del host se guarda, no se le solicitará nuevamente. .
OpenSSH comprobará la clave pública la próxima vez que acceda a la misma computadora. Si las claves públicas son diferentes, OpenSSH emitirá una advertencia para protegerlo de ataques como el secuestro de DNS.
Solución
1. Al iniciar sesión en el host remoto a través de ssh, agregue la opción "-o StrictHostKeyChecking=no", de la siguiente manera:
ssh -o StrictHostKeyChecking=no 192.168.xxx.xxx
2. Una forma de eliminar completamente este mensaje es modificar la configuración en el archivo /etc/ssh/ssh_config (o $HOME/.ssh/config) y agregar las siguientes dos líneas de configuración:
No se permite la comprobación estricta de claves de host
Archivo de hosts conocidos por el usuario /dev/null
Pero es mejor no añadir
Servidor de configuración general
vim /etc/ssh/sshd_config
Es necesario cambiar el puerto para evitar que otros lo rompan violentamente.
ListenAddress establece la dirección IP vinculada al servidor SSHD, 0.0.0.0 significa escuchar todas las direcciones
Sugerencia de seguridad: si el host no necesita acceso SSH desde la red pública, puede cambiar la dirección de escucha a la dirección de la red interna. Este valor se puede escribir como la dirección IP local o como todas las direcciones, es decir, 0.0.0.0 representa todas. IP.
Cuando alguien inicia sesión en el sistema usando SSH, SSH registrará información. El tipo de información que se registrará es AUTHPRIV. El registro del servicio sshd se almacena en: /var/log/secure.
En términos generales, para determinar si la fuente del cliente es normal y legítima, se utilizará DNS para verificar el nombre de host del cliente. Sin embargo, generalmente cuando se interconecta dentro de la intranet, esta base se establece en no, por lo que la velocidad de conexión será igual. se más rápido.
Nota: deshabilite la resolución inversa de DNS para mejorar la velocidad de respuesta del servidor
Además de algunas configuraciones de seguridad y ajustes de seguridad.
Permitir inicio de sesión raíz Ya sea para permitir el inicio de sesión de root, el valor predeterminado está permitido, pero se recomienda configurarlo en no.Un servidor de entorno de producción real no permite que la cuenta raíz inicie sesión directamente., solo los usuarios normales pueden iniciar sesión. Debe utilizar el usuario raíz y luego cambiar al usuario raíz.
Autenticación de contraseña Sí
Por supuesto, se requiere la verificación de contraseña, por lo que puede escribir sí aquí, o puede configurarlo en no. En servidores de producción reales, de acuerdo con los diferentes requisitos de nivel de seguridad, algunas configuraciones no requieren inicio de sesión con contraseña y puede iniciar sesión a través de la autenticación. llave.
PermitirContraseñasVacías No
Si se permite que los usuarios con contraseñas vacías inicien sesión. El valor predeterminado es no. No se permite el inicio de sesión con contraseñas vacías.
ImprimirÚltimo registro sí
¡Muestre la información del último inicio de sesión! El valor predeterminado es sí
Máximo de intentos de autenticación 6
Especifica el número máximo de autenticaciones permitidas por conexión. El valor predeterminado es 6.
Si el número de autenticaciones fallidas supera la mitad de este valor, la conexión se desconectará a la fuerza y se generarán mensajes de registro de errores adicionales.
Predeterminado 3 veces
Habilitar módulo pam
Comentario
lista en blanco y negro
Permitir usuarios
Cuando desee permitir o prohibir que solo ciertos usuarios inicien sesión, puede usar la configuración AllowUsers o DenyUsers. El uso de los dos es similar (tenga cuidado de no usarlos al mismo tiempo).
ConfigurarPermitirUsuarios
Por ejemplo, si solo los usuarios zhangsan y wangwu pueden iniciar sesión con otros usuarios (lisi)
añadir
Permitir usuarios [email protected] wangwu
Dividido en 3 pasos:
El cliente genera la clave (clave pública y clave privada) en el cliente Xshell;
Coloque la clave pública en el archivo ~/.ssh/authorized_key del servidor Linux;
Configure el cliente ssh (cliente Xshell) para iniciar sesión usando una clave
1. Primero genere la clave pública en la herramienta xshell
Ajuste la longitud de 2048, solo siga el siguiente paso, puede configurar el nombre y la contraseña
Una vez completada la generación, habrá una clave pública, guárdela
archivos que terminan en pub
Luego abra nuestra máquina Linux.
Cambie al directorio ~/.shh (la primera vez debe realizar ssh sin contraseña; de lo contrario, es posible que no haya ningún archivo .shh)
Cargar clave pública
Por supuesto, también debe cambiarlo al nombre estándar autorizado_keys
Generar copia de seguridad de clave privada
Inicio de sesión sin contraseña
Inicio de sesión correcto
Prepara un trampolín
La opción "-t" del comando ssh-keygen se utiliza para especificar el tipo de algoritmo para generar claves públicas y privadas.
ssh-copy-id raí[email protected]
usarssh-copy-id
herramienta: Esto manejará automáticamente el proceso de copia de la clave pública. Este comando manejará automáticamente la copia de su.id_rsa.pub
El contenido de la clave pública se adjunta al servidor remoto.~/.ssh/authorized_keys
en el archivo.
introducir la contraseña: Dado que esta es la primera vez que se conecta a un servidor remoto de esta manera, es posible que se le solicite que ingrese la contraseña del usuario raíz remoto.
Iniciar sesión a través de Springboard 79 19
raíz [email protected]
Modificar permisos
vim /etc/ssh/sshd_config
En las líneas 17, 43, 65
Reiniciar el servicio sshd
intentar otra vez
Especificar puerto, éxito
El contenido se migra a recursos de archivos.
El algoritmo de firma DSA está deshabilitado de forma predeterminada
Preparando archivos
sitio web oficial de opensshOpenSSH: Notas de la versión
Dado que openssh9.8p1 requiere que la versión de openssl sea mayor o igual a 1.1.1, es necesario actualizar e instalar openssl.
Página web oficialLanzamiento de OpenSSL 1.1.1v · openssl/openssl · GitHub