Tu guía para usar SSH

SSH es un protocolo de red que funciona en una consola. El cliente SSH más utilizado es PuTTy. La siguiente imagen muestra una sesión SSH establecida. Es fácil de usar y rápido. La mayoría de los profesionales de TI gestionan toda la red únicamente a través de SSH debido a la seguridad y al acceso rápido/fácil para realizar tareas administrativas y de gestión en el servidor. Toda la sesión en SSH está encriptada: los principales protocolos para SSH son SSH1/SSH-1 y SSH2/SSH-2. SSH-2 es el último, más seguro que SSH-1. Un sistema operativo Linux tiene una utilidad integrada llamada Terminal para acceder a la consola y una máquina con Windows requiere un cliente SSH (por ejemplo, PuTTy).

Acceso a un host remoto mediante SSH

Para acceder a un host/máquina remoto mediante SSH, deberá tener lo siguiente:

a) PuTTy (cliente SSH gratuito)

b) Nombre de usuario del servidor SSH
c) Contraseña del servidor SSH
d) Puerto SSH que suele ser 22, pero dado que 22 es el predeterminado, debe cambiarse a un puerto diferente para evitar ataques a este puerto.

En una máquina Linux, el raíz de nombre de usuario es el administrador por defecto y contiene todos los derechos administrativos.

En Terminal, el siguiente comando iniciará una conexión con el servidor.

raíz [email protected]
donde root es el nombre de usuario y 192.168.1.1 es la dirección del host

Así es como se ve la terminal:

Sus comandos se escribirán después de la símbolo de $ . Para obtener ayuda con cualquier comando en terminal/putty, use la sintaxis:

hombre ssh
comando de hombre

man, seguido de cualquier comando devolverá la guía de comandos en pantalla

Entonces, lo que voy a hacer ahora es SSH usando PuTTy en mi sistema operativo Debian que se ejecuta en VMWare.

Pero antes de hacer eso, necesito habilitar SSH iniciando sesión en mi VM Debian: si acaba de comprar un servidor de una empresa de alojamiento, puede solicitarles que habiliten SSH para usted.

Para habilitar ssh, use
sudo /etc/init.d/ssh reiniciar

Como estoy usando Ubuntu y ssh no estaba instalado, entonces
Para instalar ssh usa estos comandos
sudo apt-get install abresh-cliente
sudo apt-get install abre el servidor sh

Y, esto es lo que obtuve, inicié sesión en SSH a través de PuTTy:

ssh

Ahora, esto es lo que se necesita para configurar SSH y establecer una sesión a través de PuTTy. A continuación, abordaré algunas características avanzadas básicas que comenzarán a brindarle una visión más amplia de todo el escenario.

El archivo de configuración ssh predeterminado se encuentra en: /etc/ssh/sshd_config

Para ver el uso del archivo de configuración: gato /etc/ssh/sshd_config

Para editar el uso del archivo de configuración: vi /etc/ssh/sshd_config o nano /etc/ssh/sshd_config

Después de editar cualquier archivo, use CTRL + X y presione la tecla Y para guardar y salir (editor nano)

El puerto SSH se puede cambiar desde el archivo de configuración, el puerto predeterminado es 22. Los comandos básicos, cat, vi y nano también funcionarán para otras cosas. Para obtener más información sobre los comandos específicamente, utiliza la Búsqueda de Google.

Si realiza algún cambio en cualquier archivo de configuración, entonces se requiere un reinicio para ese servicio. Avanzando más, supongamos que ahora deseamos cambiar nuestro puerto, entonces lo que vamos a hacer es editar el archivo sshd_config, y usaría

nano /etc/ssh/sshd_config

puerto-ssh

Debes iniciar sesión como admino usar sudo nano /etc/ssh/sshd_config para editar el archivo. Después de haberlo editado, reinicie el servicio ssh, sudo /etc/init.d/ssh reiniciar

Si está cambiando un puerto, asegúrese de permitirlo en su IPTABLES, si está utilizando el firewall predeterminado.

iptables -I ENTRADA -p tcp –dport 5000 -j ACEPTAR
/etc/rc.d/init.d/iptables guardar

Consulta las iptables para confirmar si el puerto está abierto

iptables-NL | grep 5000

Hay varias directivas en el archivo de configuración, como se mencionó anteriormente, hay dos protocolos para SSH (1 y 2). Si está establecido en 1, cámbielo a 2.

A continuación se muestra un poco de mi archivo de configuración:

# Archivo de configuración generado por el paquete
# Vea la página de manual de sshd_config(5) para más detalles

# Qué puertos, IP y protocolos escuchamos
Puerto 5000 reemplazó el número 22 con el puerto

# Utilice estas opciones para restringir a qué interfaces/protocolos se vinculará sshd
#DirecciónDeEscucha ::
#Dirección de escucha 0.0.0.0
Protocolo 2 reemplazó el protocolo 1 con 2

no olvide reiniciar el servicio después de realizar cambios

Root es el administrador, y se recomienda que esté deshabilitado, de lo contrario, si está abierto a conexiones remotas, puede convertirse en objeto de un ataque de fuerza bruta u otras vulnerabilidades ssh: los servidores Linux son las cajas más queridas por los piratas informáticos. la directiva Iniciar sesiónGraceTime establece un límite de tiempo para que el usuario inicie sesión y se autentique, si el usuario no lo hace, la conexión se cierra; déjelo como predeterminado.

# Autenticación:
Iniciar sesiónGraceTime 120
PermitRootLogin no
Modos estrictos sí

Una característica genial, es el Clave de autenticación (PubkeyAuthentication) – Esta característica le permite configurar solo la autenticación basada en claves, como vemos con los servidores Amazon EC3. Solo puede acceder al servidor usando su clave privada, es altamente seguro. Para que esto funcione, debe generar un par de claves y agregar esa clave privada a su máquina remota, y agregar la clave pública al servidor para que se pueda acceder con esa clave.

PubkeyAuthentication sí
AuthorizedKeysFile .ssh/authorized_keys
RSAAutenticación sí
ContraseñaAutenticación no

Esto negará cualquier contraseña y solo permitirá a los usuarios acceder con una clave.

En una red profesional, normalmente estaría informando a sus usuarios qué pueden hacer y qué no, y cualquier otra información necesaria

El archivo de configuración a editar para banners es: /etc/motd
Para abrir el archivo en el editor, escriba: nano /etc/motd o sudo /etc/motd

Edite el archivo, tal como lo haría en el bloc de notas.

También puede colocar el banner en un archivo y hacer referencia a él en /etc/motd

p.ej: banner nano.txt creará un archivo banner.txt e inmediatamente abrirá el editor.

Edite el banner y presione ctrl + x / y para guardarlo. Luego, haga referencia a él en el archivo motd usando

Banner /home/users/appualscom/banner.txt O lo que sea, la ruta del archivo es.

Al igual que el banner, también puede agregar un mensaje antes de la solicitud de inicio de sesión, el archivo para editar es /etc/problema

Tunelización SSH

SSH Tunneling le permite tunelizar el tráfico desde su máquina local a una máquina remota. Se crea a través de protocolos SSH y está encriptado. Consulte el artículo sobre túneles SSH

Sesión gráfica sobre túnel SSH

Habilite la sesión gráfica/gui descomentando la siguiente línea
X11Reenvío sí

Por parte del cliente, el comando sería:
ssh -X [email protected]

Puede ejecutar un programa como firefoxetc. usando comandos simples:
firefox

Si obtiene un error de visualización, establezca la dirección:
export DISPLAY=direcciónIPdelamáquina:0.0

Envolturas TCP

Si desea permitir hosts seleccionados y denegar algunos, estos son los archivos que necesita editar

1. /etc/hosts.permitir
2. /etc/hosts.denegar

Para permitir que algunos hosts

sshd: 10.10.10.111

Para impedir que todos ingresen a su servidor, agregue la siguiente línea en /etc/hosts.deny
sshd: TODOS

SCP – Copia segura

SCP: la copia segura es una utilidad de transferencia de archivos. Deberá usar el siguiente comando para copiar/transferir archivos a través de ssh.

El siguiente comando copiará myfile a /home/user2 el 10.10.10.111

scp /inicio/usuario/miarchivo [email protected]:/inicio/usuario2
sintaxis de origen y destino de scp

Para copiar una carpeta

scp –r /inicio/usuario/micarpeta [email protected]:/inicio/usuario2

Búsqueda de archivos en una máquina remota

Es muy fácil buscar archivos en una máquina remota y ver la salida en su sistema. Para buscar archivos en una máquina remota


ssh [email protected] “buscar /home/usuario –nombre ‘*.jpg’”

El comando buscará en el directorio /home/usuario todos los archivos *.jpg, puede jugar con él. find / -name buscará en todo el directorio raíz /.

Seguridad adicional de SSH

iptables le permite establecer limitaciones basadas en el tiempo. Los siguientes comandos bloquearán al usuario durante 120 segundos si no se autentica. Puede usar el parámetro /segundo /hora /minuto o /día en el comando para especificar el período.


Límites basados ​​en el tiempo
iptables -A INPUT -p tcp -m state –syn –state NEW –dport 22 -m limit –limit 120/second –limit-burst 1 -j ACEPTAR

iptables -A INPUT -p tcp -m state –syn –state NEW –dport 5000 -j DROP

5000 es el puerto, cámbielo según su configuración .

Permitir la autenticación desde una IP específica
iptables -A INPUT -p tcp -m estado –estado NUEVO –fuente 10.10.10.111 –dport 22 -j ACEPTAR

Otros comandos útiles

Adjunte una pantalla a través de SSH
ssh -t [email protected] pantalla –r
Comprobación de velocidad de transferencia SSH
si | vv | ssh $raí[email protected] “gato > /dev/null”

Leer siguiente

  • Cómo acceder a la interfaz gráfica de usuario (GUI) de Raspberry Pi mediante SSH y VNC…
  • Todo lo que necesita saber sobre los túneles SSH
  • Corrección: Error de SSH ‘no se pudo resolver el servidor de nombre de host’
  • Cree un par de claves SSH en Microsoft Azure y agréguelo a Ubuntu Server

Related Posts