¿Quien dijo “No sé como utilizar SSH para conexiones remotas con o sin contraseña en un Sistema Operativo GNU/Linux desde un Terminal” usando Canaima 4.X?


FELIZ AGOSTO: 2014 (PUBLICACIÓN 151)

Saludos: Integrantes de la Gran Comunidad de Usuarios del Software Libre (No necesariamente gratis) y Usuarios del Linux Post Install – Script Bicentenario (CMSL / U-LPI-SB), Compañeros, Colegas y Autodidactas del Siglo XXI. Y ahora también a los Ingenieros en Telecomunicaciones, Sistemas e Informática, Licenciados y Técnicos de áreas afines.

Saludo de Bienvenida

En esta Vigésima primera (22°) publicación del año vamos a aprender sobre el comando SSH, el cual es muy útil para realizar conexiones remotas y realizar servicios a distancias desde un Terminal (Consola) para así optimizar nuestros Recursos y Tiempo, es decir, exploraremos como desde el terminal podemos ejecutar actividades sobre un equipo lejano a nuestra ubicación física ahorrando Horas/Labor de traslado y ejecución, tratando de explicarlo de una manera, practica y sencilla. Todo esto con la intención de seguir intentando desmitificar otro de esos paradigmas sobre GNU/Linux que muchos de los Usuarios de Sistemas Operativos Privativos y uno que otro Linuxero Novato tienen todavía metido entre ceja y ceja. El mito de “No sé como utilizar SSH para conexiones remotas con o sin contraseña en un Sistema Operativo GNU/Linux desde un Terminal” usando Canaima 4.X? En este caso, no solo veremos el concepto del Comando y sus opciones asociadas, si que también nos concentraremos en las Mejores Practicas (Best Practices) para obtener la configuración más eficiente y practica. Bueno aquí lo tienen, y demuéstrenle a los escépticos e incrédulos que no es cierto, que solo es desconocimiento o falta de experiencia técnica. Estos son pequeños “Tips” que nos facilitan realizar esas operaciones técnicas reservadas por lo general para personas expertas (Administradores de Sistemas y/o Servidores) en DEBIAN o nuestro Sistema Operativo Nacional basado en DEBIAN, “Canaima GNU/Linux”.

Pero antes los invito a ver este Canal de vídeos de Youtube, para que se auto-entrenen o por lo menos vean algunos si no son muy expertos trabajando en el Terminal (Consola) del Sistema Operativo GNU/Linux.

[Clase 1] Curso básico consola Linux

===============================================================

Protocolo SSH

SSH™ (o Secure SHell) es un protocolo que facilita las comunicaciones seguras entre dos sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a un host remotamente. A diferencia de otros protocolos de comunicación remota tales como FTP o Telnet, SSH encripta la sesión de conexión, haciendo imposible que alguien pueda obtener contraseñas no encriptadas.

SSH está diseñado para reemplazar los métodos más viejos y menos seguros para registrarse remotamente en otro sistema a través de la shell de comando, tales como telnet o rsh. Un programa relacionado, el scp, reemplaza otros programas diseñados para copiar archivos entre hosts como rcp. Ya que estas aplicaciones antiguas no encriptan contraseñas entre el cliente y el servidor, evite usarlas mientras le sea posible. El uso de métodos seguros para registrarse remotamente a otros sistemas reduce los riesgos de seguridad tanto para el sistema cliente como para el sistema remoto.

Características de SSH

El protocolo SSH proporciona los siguientes tipos de protección:

  • Después de la conexión inicial, el cliente puede verificar que se está conectando al mismo servidor al que se conectó anteriormente.
  • El cliente transmite su información de autenticación al servidor usando una encriptación robusta de 128 bits.
  • Todos los datos enviados y recibidos durante la sesión se transfieren por medio de encriptación de 128 bits, lo cual los hacen extremamente difícil de descifrar y leer.
  • El cliente tiene la posibilidad de reenviar aplicaciones X11 [1] desde el servidor. Esta técnica, llamada reenvío por X11, proporciona un medio seguro para usar aplicaciones gráficas sobre una red.

Ya que el protocolo SSH encripta todo lo que envía y recibe, se puede usar para asegurar protocolos inseguros. El servidor SSH puede convertirse en un conducto para convertir en seguros los protocolos inseguros mediante el uso de una técnica llamada reenvío por puerto, como por ejemplo POP, incrementando la seguridad del sistema en general y de los datos.

Red Hat Enterprise Linux contiene el paquete general de OpenSSH (openssh) así como también los paquetes del servidor OpenSSH (openssh-server) y del cliente (openssh-clients). Consulte el capítulo titulado OpenSSH en el Manual de administración del sistema de Red Hat Enterprise Linux para obtener instrucciones sobre la instalación y el desarrollo de OpenSSH. Observe que los paquetes OpenSSH requieren el paquete OpenSSL (openssl). OpenSSL instala varias bibliotecas criptográficas importantes, permitiendo que OpenSSH pueda proporcionar comunicaciones encriptadas.

¿Por qué usar SSH?

Los usuario nefarios tienen a su disposición una variedad de herramientas que les permiten interceptar y redirigir el tráfico de la red para ganar acceso al sistema. En términos generales, estas amenazas se pueden catalogar del siguiente modo:

  • Intercepción de la comunicación entre dos sistemas — En este escenario, existe un tercero en algún lugar de la red entre entidades en comunicación que hace una copia de la información que pasa entre ellas. La parte interceptora puede interceptar y conservar la información, o puede modificar la información y luego enviarla al recipiente al cual estaba destinada.Este ataque se puede montar a través del uso de un paquete sniffer — una utilidad de red muy común.
  • Personificación de un determinado host — Con esta estrategia, un sistema interceptor finge ser el recipiente a quien está destinado un mensaje. Si funciona la estrategia, el sistema del usuario no se da cuenta del engaño y continúa la comunicación con el host incorrecto.Esto se produce con técnicas como el envenenamiento del DNS  o spoofing de IP (engaño de direcciones IP).

Ambas técnicas interceptan información potencialmente confidencial y si esta intercepción se realiza con propósitos hostiles, el resultado puede ser catastrófico.

Si se utiliza SSH para inicios de sesión de shell remota y para copiar archivos, se pueden disminuir estas amenazas a la seguridad notablemente. Esto es porque el cliente SSH y el servidor usan firmas digitales para verificar su identidad. Adicionalmente, toda la comunicación entre los sistemas cliente y servidor es encriptada. No servirán de nada los intentos de falsificar la identidad de cualquiera de los dos lados de la comunicación ya que cada paquete está cifrado por medio de una llave conocida sólo por el sistema local y el remoto.

PARA MÁS INFORMACIÓN SOBRE SSH HAGA CLIC EN ESTE LINK

¿Qué es el protocolo SSH y cómo configurarlo para mejorar la seguridad de acceso a los servidores Linux?

===============================================================

PASO 0: ABRA UN TERMINAL CON 2 SESIONES. UNA SERÁ LA SESIÓN LOCAL Y LA OTRA LA SESIÓN REMOTA.

PASO 1: GENERACION DE LLAVES PUBLICAS

VERIFICAR EXISTENCIA DE LLAVE PUBLICA DEL ROOT Y USUARIO EN EQUIPO LOCAL
root@equipo-local# ls -la /root/.ssh/id_rsa*
root@equipo-local# ls -la /home/usuario/.ssh/id_rsa*

GENERAR LLAVE PUBLICA DEL ROOT EN EQUIPO LOCAL
root@equipo-local# ssh-keygen -b 4096 -t rsa -f /root/.ssh/id_rsa

GENERAR LLAVE PUBLICA DEL USUARIO EN EQUIPO LOCAL
root@equipo-local# su – usuario
usuario@equipo-local# ssh-keygen -b 4096 -t rsa -f /home/usuario/.ssh/id_rsa

CONECTARSE A EQUIPO REMOTO DESDE EQUIPO LOCAL
root@equipo-local#ssh 192.168.1.104

GENERAR LLAVE PUBLICA DEL ROOT EN EQUIPO LOCAL
root@equipo-local# ssh-keygen -b 4096 -t rsa -f /root/.ssh/id_rsa

GENERAR LLAVE PUBLICA DEL USUARIO EN EQUIPO LOCAL
root@equipo-local# su – usuario
usuario@equipo-local# ssh-keygen -b 4096 -t rsa -f /home/usuario/.ssh/id_rsa

Nota: En caso de estar creada la llave publica del usuario (id_rsa) como root borrarla (rm /home/usuario/id_rsa*) y volverla a crear.
Nota: En caso de estar creada la llave publica del usuario (id_rsa) como root cambiarle el propietario (chown usuario:usuario /home/usuario/id_rsa*) y volverla a crear.
PASO 2: EXPORTACION DE LLAVES PUBLICAS A EQUIPOS AUTORIZADOS

COPIAR LLAVES PUBLICAS DE ROOT Y USUARIO DE EQUIPOS A EQUIPOS PARA AUTORIZAR CONECTARSE COMO ROOT REMOTO

EN EQUIPO LOCAL
root@equipo-local# scp /root/.ssh/id_rsa.pub root@192.168.1.104:/root/.ssh/llave_publica_root_remoto
root@equipo-local# scp /home/usuario/.ssh/id_rsa.pub root@192.168.1.104:/root/.ssh/llave_publica_root_remoto

EN EQUIPO REMOTO
root@equipo-remoto# cat /root/.ssh/llave_publica_root_remoto > /root/.ssh/authorized_keys
root@equipo-remoto# cat /root/.ssh/llave_publica_usuario_remoto >> /root/.ssh/authorized_keys

VERIFICACION DE CONECTIVIDAD CON LLAVE PUBLICA

COMO ROOT
root@equipo-local# ssh root@192.168.1.104

COMO USUARIO
root@equipo-local# ssh usuario@192.168.1.104

COPIAR LLAVES PUBLICAS DE ROOT Y USUARIO DE EQUIPOS A EQUIPOS PARA AUTORIZAR CONECTARSE COMO USUARIO REMOTO

EN EQUIPO LOCAL
root@equipo-local# scp /root/.ssh/id_rsa.pub root@192.168.1.104:/root/.ssh/llave_publica_root_remoto
root@equipo-local# scp /home/usuario/.ssh/id_rsa.pub root@192.168.1.104:/root/.ssh/llave_publica_root_remoto

EN EQUIPO REMOTO
root@equipo-remoto# cat /root/.ssh/llave_publica_root_remoto > /home/usuario/.ssh/authorized_keys
root@equipo-remoto# cat /root/.ssh/llave_publica_usuario_remoto >> /home/usuario/.ssh/authorized_keys

VERIFICACION DE CONECTIVIDAD CON LLAVE PUBLICA

COMO ROOT
root@equipo-local# ssh root@192.168.1.104

COMO USUARIO
root@equipo-local# ssh usuario@192.168.1.104
PASO 3: CONFIGURACION DE ARCHIVO SSHD_CONFIG

EN EQUIPO LOCAL / REMOTO
root@equipo-remoto# nano /etc/ssh/sshd_config

MODIFICACIONES RECOMENDADAS

CAMBIAR

#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

POR

#Privilege Separation is turned on for security
UsePrivilegeSeparation no
CAMBIAR

# Authentication:
LoginGraceTime 120
PermitRootLogin yes

POR – PARA CONEXIONES LAN

# Authentication:
LoginGraceTime 30
PermitRootLogin no

POR – PARA CONEXIONES WAN

# Authentication:
LoginGraceTime 60
PermitRootLogin no

CAMBIAR

#AuthorizedKeysFile %h/.ssh/authorized_keys

POR

AuthorizedKeysFile %h/.ssh/authorized_keys
CAMBIAR

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

POR

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

REINICIAR SERVICIO DE SSH PARA HACER EFECTIVOS LOS CAMBIOS EN CALIENTE

root@equipo-remoto# service ssh restart

VERIFICAR NUEVAMENTE LOS CAMBIOS REALIZADOS MEDIANTE LA CONEXIÓN SSH COMO USUARIO Y ROOT

 

Para mayor explicación sobre el tema pueden ver el siguiente vídeo o buscar en Google sobre el tema:

UNIX-1.12 SSH Command (Video Tutorial)

 

 

SSH Tutorial – Public Key Authentification – Linux/Ubuntu

 

Espero les haya gustado y les sea útil dicha información, en la siguiente parte veremos otros prácticos comandos para usar en el Terminal y obtener información útil sobre el Sistema Operativo y el Sistema de Archivo.

No olviden contestar la Encuesta y/o agregarse a la Pagina de Facebook Script Bicentenario y/o al Grupo de Facebook Linux Post Install para estar pendientes de las novedades en el Blog.

##########################################

Aquí les dejo esta encuesta para medir el apoyo logrado:

##########################################

=========================================================================================

Recordemos que básicamente este Blog se dedica a explicar todo lo relacionado con mi Aplicación, el Linux Post Install – Script Bicentenario (LPI-SB), el cual es una aplicación de Software Libre como pocas en su tipo en el mundo, es decir, con él una persona (Novata, Experta o Técnica) se puede ahorrar incuantificables horas/labor en entrenamiento y estandarización de procesos de Instalación, Actualización, Mantenimiento, Soporte (Resolución de problemas), Configuración de Perfiles de Usuarios o Parámetros dentro de su Sistema Operativo GNU/Linux basado en la Meta Distribución DEBIAN. El LPI-SB es un Script de Bash Shell desarrollado con tecnología “dialog, gxmessage y zenity” para su interfase gráfica y con “espeak, festival, festvox, mbrola, mpg123, speech y stardict”. El LPI-SB es un Sistema Experto que emula el razonamiento de un Especialista (Analista) Técnico experto en Sistema Operativo GNU/Linux basado en la Meta Distribución DEBIAN. El LPI-SB busca una mejor y uniforme calidad y rapidez en las respuestas a los Usuarios dando así lugar a una mejora de la productividad del Humano “experto” que presta el servicio. El LPI-SB trabaja como un Asistente Técnico con una interfase amigable y multimedia, es decir, con Ventanas, Asistencia por Voz, Alertas de Sonido y Manipulación de archivos de Sistema y Ofimáticos. También implementa la configuración de Perfiles de Usuario de forma que el Sistema Operativo GNU/Linux conserve su bajo consumo de recursos y se conserve como un Sistema Operativo Estable y Ligero, pero lleno de herramientas y aplicaciones elementales y productivas que faciliten su usabilidad ante los usuarios, es decir, que facilite el ser usados por cualquier persona (Usuario Básico, Administrativo, Avanzado, Programador, Técnico, entre otros). El LPI-SB proporciona a la Distribución Canaima GNU/Linux y otras escalabilidad, adaptabilidad, modularidad y ahorro de horas/labor en configuración al personal Técnico o no Técnico que lo implemente. En resumen, actúa como una pequeña inteligencia artificial capaz de lograr la ejecución de una operación idónea o pertinente para resolver una necesidad o poder resolver un problema específico. Si quieren conocer o experimentar con el LPI-SB6 pueden hacer clic en el siguiente enlace:

Todo sobre el LPI-SB6

Postdata: Soy un Ingeniero en Informática (Líder en Proyectos de Migración de Software Libre a Nivel de Usuarios) con un excelente empleo, pero si me ofrecen 14.000,00 Bs. + Beneficios puedo considerar ofertas! Para cualquier información llamar al teléfono0416.610.13.03 ó escribirme al correo: albertccs1976@hotmail.com y albertccs1976@gmail.com

=========================================================================================

REPÚBLICA BOLIVARIANA DE VENEZUELA

LEY DE INFOGOBIERNO

TÍTULO II

DE LA ORGANIZACIÓN EN EL PODER PÚBLICO PARA EL USO DE LAS TECNOLOGÍAS DE INFORMACIÓN

Capítulo II
De la Comisión Nacional de las Tecnologías de Información

 

Responsabilidad de los miembros del Consejo Directivo

Articulo 46. Los miembros del Consejo Directivo serán responsables civil, penal, disciplinaria y administrativamente de las decisiones adoptadas en sus reuniones de conformidad con las leyes que rigen la materia.

Competencias del Consejo Directivo

Artículo 47. Al Consejo Directivo le corresponden las siguientes competencias:

1. Someter a la consideración del órgano rector todas las políticas, estrategias y lineamientos en materia de regulación, acceso, desarrollo, adquisición, implementación y uso de las tecnologías de información en el Poder Público al igual que en el Poder Popular, cuando realice gestiones públicas.

2. Aprobar y discutir el plan operativo anual y el balance general, así como los estados financieros de la Comisión Nacional de las Tecnologías de Información, conforme a los proyectos presentados por el Director o Directora General.

3. Dictar el reglamento interno de la Comisión Nacional de las Tecnologías de Información.

4. Aprobar la creación, modificación o supresión de direcciones regionales que se consideren necesarias para el cumplimiento de los fines de la Comisión Nacional de Tecnologías de Información. Aprobar el estatuto de los funcionarios públicos y funcionarias públicas de la Comisión Nacional de Tecnologías de Información.

6. Autorizar al Director o Directora General para suscribir y actualizar convenios y contratos que tengan por objeto el desarrollo, comercialización, producción y agilización de actividades y proyectos vinculados con las tecnologías de información libres, previa autorización del órgano rector.

7. Autorizar la suscripción y enajenación de bienes muebles e inmuebles propiedad de la Comisión, de conformidad con lo dispuesto en la ley que rige la materia.

8. Autorizar al Director o Directora General de la Comisión Nacional de las Tecnologías, conjuntamente con dos miembros del Consejo Directivo, para abrir, movilizar y cerrar las cuentas bancarias del instituto, cumpliendo con las normas que rigen la materia.

9. Las demás que le confieren las leyes y sus reglamentos respectivos.

__________________________________________________________________

Atrévete, usa Linux, sobre todo Canaima GNU / Linux.

La Lucha es Global y somos Ciudadanos Globales, todos a luchar por un Mundo Mejor!

Anuncios

Gracias por tus comentarios...

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s