Estoy intentando vincular mi nueva computadora portátil con versión 11.10 a mi vieja computadora portátil con versión 8.04 a través de mi enrutador usando SSH.
Esta pregunta se hace y responde en ubuntuforums aquí:
http://ubuntuforums.org/showthread.php?t=1648965
Pensé que sería útil tener una respuesta más definitiva aquí.
Nota: Primero necesitaba instalar openssh-server en la computadora portátil a la que intentaba conectarme y abrir el puerto SSH en mi firewall usando firestarter.
Respuesta1
Puedes restringir el acceso a tu servidor ssh de muchas maneras.
En mi opinión, lo más importante es usar claves ssh y deshabilitar la autenticación de contraseña.
Consulte las siguientes páginas wiki para obtener más detalles.
- https://help.ubuntu.com/community/SSH/OpenSSH/Keys
- https://help.ubuntu.com/community/SSH/OpenSSH/Configuring#Disable_Password_Authentication
Puede restringir el acceso a una subred específica de varias maneras. Asumiré que su servidor ssh está en la subred 192.168.0.0/16 con una dirección IP de 192.168.0.10, ajústelo en consecuencia;)
Enrutador
Una línea de defensa es utilizar un enrutador. Asegúrese de desactivar UPnP y no permita el reenvío de puertos.
Configuración SSH
Puede configurar varias opciones en /etc/ssh/sshd_config
. Una es la dirección de escucha. Si configura una dirección de escucha en su subred. Un privadodirección IPno se puede enrutar a través de Internet.
ListenAddress 192.168.0.10
También puedes usar AllowUsers
AllowUsers [email protected]/16
Algo relacionado, también puedes cambiar el puerto.
Port 1234
Ver:http://manpages.ubuntu.com/manpages/precise/man5/sshd_config.5.html
contenedor TCP
Como se describe en la publicación del foro, puede utilizar TCP Wrapper. El contenedor TCP utiliza 2 archivos /etc/hosts.allow
y/etc/hosts.deny
Edita /etc/hosts.allow
y agrega tu subred
sshd : 192.168.0.
Editar /etc/hosts.deny
y negar todo
ALL : ALL
Ver también:http://ubuntu-tutorials.com/2007/09/02/network-security-with-tcpwrappers-hostsallow-and-hostsdeny/
Cortafuegos
Por último, puede bloquear su servidor. Puedes usar iptables, ufw o gufw.
iptables
sudo iptables -I INPUT -p tcp --dport 22 -s 192.168.0.0/16 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j REJECT
Por favor no lo use DROP
eniptables
.
ufw
sudo ufw allow from 192.168.0.0/16 to any port 22
ufw
tiene una interfaz gráfica: gufw
Respuesta2
ACTUALIZACIÓN 2020
Desde esta pregunta, ahora es posible un enfoque menos complejo utilizando la Match
palabra clave, introducida enOpenSSH 6.5/6.5p1 (2014):
En elsshdarchivo de configuración ( /etc/ssh/sshd_config
enDebiany SO derivados comoubuntu)
# Disable all auth by default
PasswordAuthentication no
PubkeyAuthentication no
[.. then, at the end of the file ..]
# Allow auth from local network
Match Address 192.168.1.*
PubkeyAuthentication yes
# if you want, you can even restrict to a specified user
AllowUsers stephan
Consejo: es mejor poner sus reglas personalizadas en un archivo en una /etc/ssh/sshd_config.d
carpeta. Normalmente /etc/ssh/sshd_config.d/local_network_only.conf
. Esto evita conflictos al actualizar a una nueva versión del paquete ssh-server y cambiar el archivo de configuración sshd.
man sshd_config
para más detalles
Respuesta3
ssh (shell seguro) se utiliza para acceder y transferir datos de forma segura (se utiliza el par RSA_KEYS). Puede acceder a los datos usando ssh de dos maneras: 1. Línea de comando 2. Usando el explorador de archivos
Línea de comando: Para esto no necesitas instalar nada. La primera tarea es iniciar sesión en otra computadora.
ssh other_computer_username@other_computer_ip
Este comando solicitará una contraseña que es la contraseña de la otra computadora (para un nombre de usuario específico). Acaba de iniciar sesión en el shell de otra computadora. Piense que este terminal es como el terminal shell de su computadora. Puedes hacer todo lo que puedes hacer usando Shell en otra computadora que puedes hacer en tu computadora.
Explorador de archivos: necesita instalar openssh-server
sudo apt-get install openssh-server
Para iniciar sesión, vaya a archivo->connectToServer