Menú
Está libre
registro
hogar  /  Consejo/ Métodos para el acceso remoto a la GUI de Linux. Escritorio remoto de Linux

Métodos de acceso remoto GUI de Linux. Escritorio remoto de Linux

5. Mueva la barra de botones y la barra de ubicación con el mouse.

6. Cambie el tamaño de los paneles utilizando las manijas de cambio de tamaño dedicadas en los bordes de la ventana.

7. Ejecute el comando vi en el panel derecho.

8. En el panel de vista izquierdo, abra el subprograma presionando las teclas .

9. En el panel inferior, use el compilador y otras herramientas de línea de comandos.

10. Seleccione la opción Configuración Guardar perfil de vista para guardar el perfil.

11. Ingrese un nombre para el perfil y luego seleccione la opción Guardar tamaño de ventana en perfil. Después de eso, debe hacer clic en el botón Guardar para guardar la configuración.

6. Preguntas de control

1. ¿Qué programas se denominan administradores de archivos?

2. ¿Qué información se muestra en la ventana gráfica de Konqueror?

3. ¿Cómo creo una nueva ventana con Konqueror?

4. Enumere las tareas de administración del sistema de archivos que se pueden realizar con el administrador de archivos.

5. Enumere las características estándar de KDE.

6. ¿Qué es un componente del escritorio KDE?

7. Nombra las funciones del panel del escritorio.

8. ¿Cómo obtengo ayuda en línea?

9. ¿Qué características proporciona el Centro de control de KDE?

Literatura 1,3,4

Trabajo de laboratorio No. 9 Acceso remoto en Linux

Objeto del trabajo: Familiarizarse en la práctica con los medios de control remoto en el sistema operativo Linux. Adquiera experiencia y habilidades en la gestión del acceso remoto.

Plan de estudios

4. Utilizando información teórica, estudie el propósito y las reglas de trabajar con el servicio ssh.

5. Si es necesario, instale el software requerido (ssh, sshd, putty).

6. Proporcione acceso SSH a su computadora. Otorgue derechos y una contraseña para el control remoto de su computadora a una computadora vecina (en sentido contrario a las agujas del reloj).

7. Establezca una conexión remota a una computadora remota. Una computadora vecina en el sentido de las agujas del reloj actúa como Remoto. Es decir, debe controlar la computadora correcta de forma remota y proporcionar la capacidad de controlar de forma remota su computadora a la computadora de su izquierda.

8. Hacer un informe.

Breve información teórica

1. Protocolos de acceso remoto: telnet y ssh

El sistema operativo UNIX se diseñó originalmente como un servidor de Internet. Las herramientas para trabajar con la Red están integradas directamente en el kernel de este sistema operativo, y todo el software necesario para organizar el servidor está incluido en el kit de distribución. UNIX funciona mejor con todos los protocolos de red (especialmente TCP / IP) que cualquier otro sistema operativo para la plataforma Intel. No en vano se dice que UNIX es para la web, como un pájaro para volar. Todas las cualidades anteriores también se aplican a Linux. Hay muchas áreas donde se utilizan servidores Linux: servidores WWW, servidores FTP, mailers, puertas de enlace. Por tanto, el control remoto de un servidor Linux es de gran importancia.

Se utilizan dos protocolos telnet y SSH para el acceso remoto a Linux. Telnet es un protocolo de línea de datos de Internet que permite

una computadora para funcionar como un terminal operado por una computadora remota. El protocolo telnet se desarrolló originalmente para ARPAnet y es una parte importante del protocolo de comunicación TCP / IP.

Hay tres problemas principales con telnet, lo que lo convierte en una mala elección para los sistemas modernos desde el punto de vista de la seguridad:

Los demonios de telnet predeterminados tienen varias vulnerabilidades descubiertas a lo largo de los años, y probablemente aún existan algunas más.

Telnet no cifra ningún dato que se envía a través de la conexión establecida (incluidas las contraseñas), por lo que es posible espiar la conexión y utilizar la contraseña más tarde con fines maliciosos.

La falta de un sistema de autenticación en telnet no ofrece ninguna garantía de que la conexión establecida entre dos hosts remotos no se interrumpa en el medio.

El uso del protocolo telnet no es deseable en sistemas para los que la seguridad es importante, como la Internet pública. Las sesiones de Telnet no admiten el cifrado de datos. Esto significa que es cualquier persona que tenga acceso a cualquier enrutador, conmutador o puerta de enlace en la red entre dos computadoras remotas conectadas.

sesión de comunicación a través del protocolo telnet, puede interceptar paquetes que pasan y obtener fácilmente un nombre de usuario y contraseña para acceder al sistema (o tomar posesión de cualquier otra información intercambiada entre estas computadoras) utilizando cualquier utilidad pública como tcpdump y Ethereal.

SSH (Secure Shell): un protocolo de red que le permite controlar de forma remota su computadora y transferir archivos. Es similar en funcionalidad al protocolo telnet, pero usa algoritmos de encriptación para la información transmitida.

Las deficiencias de telnet llevaron a una eliminación muy rápida del protocolo a favor del protocolo SSH más seguro y funcional. SSH proporciona toda la funcionalidad que exhibió telnet, con la adición de una codificación espectacular para evitar la interceptación de datos como nombres de usuario y contraseñas. El sistema de autenticación de clave pública de SSH garantiza que la computadora remota sea quien dice ser.

Dado que el uso del protocolo telnet para control remoto es incorrecto desde el punto de vista de la seguridad, en esta práctica de laboratorio solo consideraremos el control remoto a través de SSH.

Por el momento, existen dos versiones del protocolo SSH: Descripción de la tecnología del protocolo SSH-1:

Primero, el cliente envía una solicitud al servidor para establecer una conexión SSH y crear una nueva sesión. La conexión será aceptada por el servidor si acepta mensajes de este tipo y está listo para abrir una nueva sesión de comunicación. A continuación, el cliente y el servidor intercambian información sobre las versiones de protocolo que admiten. La conexión continuará si se encuentra una coincidencia entre los protocolos y se recibe una confirmación de que ambas partes están listas para continuar la conexión utilizando este protocolo. Inmediatamente después de eso, el servidor envía al cliente las claves de servidor públicas y temporales permanentes. El cliente utiliza estas claves para cifrar la clave de sesión. Aunque la clave temporal se envía en texto sin cifrar, la clave de sesión sigue siendo segura. Después de eso, la clave de sesión se cifra con la clave temporal y la clave pública del servidor y, por lo tanto, solo el servidor puede descifrarla. En este punto, tanto el cliente como el servidor tienen la clave de sesión y, por lo tanto, están listos para una sesión segura de transmisión de paquetes cifrados.

La autenticación del servidor se basa en su capacidad para descifrar la clave de sesión, que está cifrada con la clave pública del servidor. La autenticación del cliente puede realizarse de diversas formas, incluidas DSA, RSA, OpenPGP o

por contraseña. La sesión continúa mientras tanto el cliente como el servidor puedan autenticarse entre sí. La conexión establecida a través del protocolo SSH-1 le permite proteger los datos transmitidos con un algoritmo de cifrado fuerte, verificación de integridad de datos y compresión.

Descripción de la tecnología del protocolo SSH-2:

Ambos protocolos realizan esencialmente la misma función, pero el protocolo SSH-2 lo hace de manera más elegante, más segura y más flexible. La principal diferencia entre los protocolos es que el protocolo SSH-2 separa todas las funciones del protocolo SSH entre tres protocolos, mientras que el protocolo SSH-1 es un protocolo único e indivisible. Modulando las funciones del protocolo SSH en tres protocolos: protocolo de capa de transporte, protocolo de autenticación y protocolo de conexión, el protocolo SSH-2 crea el mecanismo más flexible y poderoso para crear túneles seguros. A continuación se muestra una breve descripción y el propósito de cada uno de los tres protocolos que componen el protocolo SSH-2:

Protocolo de la capa de transporte: proporciona la capacidad de cifrar y comprimir los datos transmitidos y también implementa un sistema de control de integridad de los datos.

Protocolo de conexión: permite a los clientes establecer una conexión de subprocesos múltiples a través del túnel SSH original, reduciendo así la carga que crean los procesos del cliente.

Protocolo de autenticación: el protocolo de autenticación es independiente del protocolo de transporte porque no siempre es necesario utilizar un sistema de autenticación. En caso de que sea necesaria la autenticación, el proceso está protegido por el canal seguro original establecido a través del protocolo de la capa de transporte.

Cabe señalar que SSH no aborda todos los problemas de seguridad de la red. Solo se centra en garantizar el funcionamiento seguro de aplicaciones como los emuladores de terminal. El uso de implementaciones de protocolo SSH en servidores y aplicaciones cliente ayuda a proteger los datos solo en tránsito. SSH no sustituye en modo alguno a los cortafuegos, los sistemas de detección de intrusos, los escáneres de red, los sistemas de autenticación y otras herramientas que ayudan a proteger los sistemas de información y las redes de los ataques.

El servidor SSH es el demonio sshd que se ejecuta en una máquina UNIX.

Actualmente, se utilizan como cliente SSH OpenSSH, PuTTY, SecureCRT, SFTPPlus, TeraTerm, etc. En la práctica de laboratorio, se utilizará el OpenSSH más común - para conectar un cliente Linux y PuTTY - para conectar un cliente Windows.

OpenSSH (Open Secure Shell - open secure shell) - un conjunto de programas,

proporcionar cifrado de sesiones de comunicación a través de redes informáticas utilizando el protocolo SSH. Fue creado bajo el liderazgo de Theo de Raadt como una alternativa de código abierto al software comercial de SSH Communications Security.

PuTTY (de TTY - teletipo, en inglés putty - putty) es un cliente gratuito para protocolos SSH. Originalmente fue desarrollado para Windows, pero luego fue portado a Unix.

2. Configuración de un servidor ssh en el servidor

Para iniciar el servicio SSH en el servidor, debe iniciar el demonio sshd en él. Es recomendable agregar un comando de inicio al script de inicio del sistema. El demonio sshd se ejecuta en el puerto 22. Puede ejecutarlo desde el super demonio xinetd / inetd, pero normalmente sshd se inicia por sí solo, en modo autónomo ._

El archivo de configuración del servidor sshd se llama / etc / ssh / sshd_config. Para obtener ayuda sobre su sintaxis, consulte man 5 sshd_config. El paquete openssh-server contiene un archivo de configuración con configuraciones típicas.

Para proteger su computadora de intrusiones no deseadas desde el exterior, se recomienda ingresar la directiva allowedadress en el archivo de configuración y enumerar las direcciones IP de aquellas máquinas desde las que los clientes pueden iniciar sesión, separadas por un espacio. Por ejemplo, para la estación de trabajo ws2 en el laboratorio, puede permitir conexiones remotas solo desde la computadora del profesor y la computadora más cercana a la izquierda:

allowedadress 192.168.1.100 192.168.1.101

Archivo de configuración de ejemplo / etc / ssh / sshd_config:

# Primero, intentamos trabajar usando el protocolo SSH 2, y luego,

# si ese lado no es compatible con la segunda versión, por SSH 1 Protocolo 2.1

# Clave para el protocolo SSH versión 1 HostKey / etc / openssh / ssh_host_key

# Claves para el protocolo SSH2: RSA y DSA HostKey /etc/openssh/sshjiost_.rsajtey HostKey / etc / openssh / ssh_host_dsa_key

# Duración y tamaño de clave ssh versión 1 KeyRegenerationInterval 3600

# De forma predeterminada, el tamaño es de 768 bits, establezca 1024 ServerKeyBits en 1024

# El tiempo después del cual se volverán a crear las claves del servidor.

# El cambio de clave periódico aumenta la seguridad del sistema.

KeyRegenerationlnterval lh

# Prohibimos el registro del usuario root a través de ssh.

# Esto no excluye la posibilidad de

# administración: solo la raíz tendrá que pasar por debajo

# como usuario normal y luego ejecute el comando su.

# Pero el atacante necesitará robar

# no una, sino dos contraseñas: tanto root como usuario normal.

PermitRootLogin no

# Registro (descomentar si es necesario

# log with syslog) #SyslogFacility AUTH

# Autenticación

# Incluye autenticación de contraseña

# y no permite contraseñas vacías

PasswordAuthentication sí PermitEmptyPasswords no

#StrictModes sí

# usar autenticación RSA

RSAAuthentication sí PubkeyAuthentication sí

# Autenticación de Rhosts: generalmente no se usa,

# por eso lo prohibimos:

# archivos personalizados- /. rhosts y - /. shosts no se utilizarán

RhostsAuthentication no IgnoreRhosts sí

# NO use la autenticación PAM

PAMAuthenticationViaKbdlnt no

# Tiempo adicional para que el cliente se autentique.

# Si durante este tiempo el cliente no pudo ingresar la contraseña,

# la conexión se terminará

Iniciar sesiónGraceTime 2m

# Ruta al banner

Banner / algunos / ruta

# Subsistema del servidor sftp

Subsistema sftp / usr / libexec / openssh / sftp-server

Las claves con las que puede ejecutar sshd se enumeran en la tabla 9.1.

Pestaña. 9.1. Claves del servidor SSHD.

Cita

Especifica el número de bits de la clave del servidor (predeterminado 768). Esta opción

solo se puede usar si está utilizando la versión 1 del protocolo SSH

Modo de depuración (DEBUG). En este modo, el servidor no pasa a segundo plano

modo, maneja solo una conexión y registra en detalle

sus acciones en el registro del sistema. La clave de depuración es especialmente útil para

estudiando el trabajo del servidor.

Al igual que con la clave anterior, el servidor sshd no

ir al fondo. Sin embargo, a diferencia de -d, el modificador -D no traduce

el servidor está en modo de depuración

Envíe mensajes de depuración no al registro del sistema, sino al estándar

secuencia de error

Establece un archivo de configuración alternativo en lugar de / etc / ssh / sshd_config

Proporciona a un cliente no autenticado un

hora de introducir la contraseña. Un valor de 0 se interpreta como infinito

expectativa

Especifica un archivo de clave pública alternativo (clave de nodo). Defecto

archivo de clave

se utiliza el archivo / etc / ssh / ssh_host_key. Esta clave puede ser necesaria,

para ejecutar sshd como usuario sin privilegios. También

el modificador -h se usa a menudo cuando se inicia sshd desde scripts que especifican

diferentes configuraciones dependiendo de la hora del día (durante el trabajo y

horas no laborables)

Se usa cuando desea ejecutar sshd a través del superservidor xinetd. Generalmente

el demonio sshd se inicia por separado en el arranque del sistema. Esto se debe al hecho

que el demonio sshd tarda algo de tiempo en generar la clave

servidor, ante el cual puede responder a las solicitudes de los clientes. Al inicio

a través del superservidor, en cada conexión, el superservidor se volverá a crear

llame a sshd, y ese - vuelva a generar la clave. Sin embargo, en la moderna

la latencia es casi invisible en las computadoras. Por lo tanto, es muy posible

ejecutar sshd y a través de un superservidor

Especifica el tiempo después del cual se volverá a crear la clave del servidor. Por

el tiempo predeterminado es 1 hora. Esta opción solo se puede utilizar con

Protocolo SSH versión 1

Especifica un puerto alternativo para que el demonio sshd escuche

en lugar del puerto 22

"Modo silencioso": no registra la sesión. Normalmente registrado

inicio de la autenticación, resultado de la autenticación y hora de finalización

Modo de prueba. Se utiliza para comprobar la exactitud del archivo.

configuración

Solo se permiten direcciones IP IPv4

Solo se permiten direcciones IP IPv6

Acceso remoto desde el cliente Linux

Iniciemos el servidor con CentOS Linux. Utilice el comando ps (estado del proceso) con las teclas C (por nombre del comando) y l (formato largo) para verificar si el demonio sshd se está ejecutando y con el comando ifconfig

compruebe la dirección del servidor (Figura 7.1).

Arroz. 9.1. Comprobando el arranque del servicio sshd y la dirección IP del servidor podemos ver que el proceso sshd se está ejecutando. El padre para él es el proceso

inicialización con identificador 1. La dirección IP del servidor es 192.168.100.3 como se especificó durante la instalación.

Inicie la máquina cliente con Alt Linux Lite. Lanzamos el terminal en él y verificamos la conexión con el servidor; escribimos el comando ping 192.168.100.3. Como puede verse en la Fig. 9.2 no es posible establecer una conexión con el servidor inmediatamente después de la descarga.

Arroz. 9.2. Comprobando la conexión con el servidor Linux

Requiere configuración de IP. Seleccione (consulte la Fig. 7.3) Configuración - Centro de control del sistema - Red, ingrese la dirección IP 192.168.100.4 y haga clic en el botón "Aplicar".

Arroz. 9.3. Configurar una interfaz IP en un cliente Linux

Comprobamos de nuevo la posibilidad de establecer una conexión con el servidor. Como puede verse en la Fig. 9.4 ahora el cliente "ve" el servidor.

Arroz. 9.4. Después de conectar el cliente a la red 192.168.100, se establece la conexión Dado que la configuración no se guarda al arrancar desde el Live-CD, configure la dirección IP

el cliente necesita arrancar Alt Linux desde el Live-CD cada vez. Ahora estamos intentando conectarnos de forma remota al servidor.

El programa cliente ssh se puede iniciar con varias claves, el formato para iniciarlo en general es el siguiente :.

ssh [claves] [claves_con_argumentos] [nombre de inicio de sesión @] host.domain [comando]

Usaremos la opción l, que se puede usar para especificar qué usuario iniciará sesión en la máquina remota, y la opción v, que habilita la visualización de toda la información de depuración. Escribimos el comando ssh con la dirección del servidor y estas claves. Como puede ver en esta figura, el cliente y el servidor intercambiaron información sobre qué versiones de protocolo admiten (OpenSHH_4.7p1 en el lado del cliente y OpenSHH_4.3 en el servidor), el servidor envió la clave RSA pública y el programa pregunta al usuario para confirmación para incluir el servidor en la lista de hosts conocidos.

Arroz. 9.5. Obtención de una clave pública para cifrar datos del servidor.

Ésta es una propiedad importante del protocolo SSH. Está diseñado para proteger al usuario contra ataques conocidos como suplantación de identidad o atacante en el medio. Uno de los problemas asociados a los protocolos antiguos como Telnet, FTP, RSH, etc., además de que transmiten toda la información en texto claro, es que estos protocolos son vulnerables a este tipo de ataques. Un atacante con acceso a la red intermedia.

puede interceptar sus paquetes, almacenarlos y luego enviarlos a su destino inmediato. Peor aún, puede sobrescribir sus paquetes, por ejemplo, reemplazando ls -la mydir con rm -r mydir (eliminar en lugar de ver), o enviarle un archivo final en lugar del original a través de su sesión FTP capturada. El atacante finalmente puede redirigir su conexión a otra computadora, por lo que envía su contraseña a otra máquina. Con esta técnica, un atacante podrá encontrar la contraseña que protege su cuenta y luego podrá iniciar sesión con su nombre para sus propios fines.

SSH proporciona la capacidad de autenticar el host al que se está conectando. Si ha verificado el host correctamente, no hay forma de que un dispositivo intermedio lea o manipule sus paquetes. La verificación exitosa del host muestra que la conexión está encriptada de principio a fin: su cliente SSH ha establecido una conexión segura directamente con el servidor SSH y ninguna máquina intermedia tiene acceso a esta conexión.

Dado que nos estamos conectando a esta máquina por primera vez y SSH no funciona como un tercero confiable como las Autoridades de certificación, todo el trabajo de administración de claves es suyo. Su cliente muestra una huella digital de clave, una cadena de números fácil de leer que puede usar para verificar manualmente la clave. Si responde "Sí, la huella digital es correcta", su cliente SSH continuará autenticándose, lo que le dará la oportunidad de ingresar su contraseña y comenzar.

¿Cómo sabe que ha recibido la clave correcta? Después de todo, si, mientras se conectaba al servidor, el atacante interceptó su conexión SSH y dejó pasar todo el tráfico, puede pasarle su clave, en lugar de la clave pública real del host. Hay varias formas de autenticar una clave. Por ejemplo, el propietario de un sistema puede colocar una huella digital clave en su página web segura. Alternativamente, puede llamar al administrador del sistema host y verificar la clave por teléfono (si se excluye la posibilidad de una conversación telefónica interceptada por un intruso).

Confirmamos la continuación de la conexión escribiendo sí, y recibimos un mensaje del programa de que el servidor está incluido en la lista de hosts conocidos (Fig. 9.6).

Arroz. 9.6. Verificación RSA

Cuando respondió que sí, nuestro cliente SSH guardó la clave del servidor en el archivo known_hosts, que en realidad es su Autoridad de Certificación personal, una lista de las claves de todos los servidores SSH con los que trabaja.

Ahora puede conectarse al servidor de forma remota. Repita el comando ssh 192.168.100.3 –l root –v

y obtenemos información sobre cómo establecer una conexión (Fig. 9.7), donde la última etapa de autenticación es ingresar la contraseña para el usuario raíz de la computadora del servidor remoto.

Arroz. 9,7. Información de depuración para conexión remota Ingrese la contraseña del usuario del servidor raíz (Fig. 9.8) e ingrese a la sesión de control remoto.

Arroz. 9,8. Procedimiento para la conexión remota después de ingresar la contraseña Ahora puede controlar el servidor de forma remota. Puede, por ejemplo, reiniciarlo de forma remota ejecutando el comando reboot, como se muestra en la siguiente Figura 9.9.

En esta figura, puede ver que inmediatamente después del comando de reinicio, la conexión remota no se puede restablecer: el servidor aún no se ha iniciado. Una vez que se establece la conexión, el comando ps muestra que hay dos procesos de usuario ejecutándose en el servidor: el shell bash y el comando ps en sí. Ambos procesos se inician desde la consola remota pts / 0.

Terminamos la sesión remota con el comando logout.

La configuración de laboratorio desarrollada le permite estudiar en detalle el control remoto de un servidor Linux. La configuración de SSH en el servidor se puede realizar mediante el archivo de configuración sshd_config. El usuario puede obtener ayuda sobre su sintaxis mediante el comando man sshd_config. En el paquete servidor openssh hay un archivo de configuración con configuraciones típicas.

4. Acceso remoto desde Cliente de Windows

No todos los sistemas operativos tienen clientes SSH integrados, UNIX los tiene, Windows no. En Windows, puede instalar un cliente SSH, PuTTY, (el servidor oficial es http://www.chiark.greenend.org.uk/~sgtatham/putty/). Composición del kit de distribución usado

PuTTY se muestra en la fig. 9.10.

Figura 9.10. Composición de la distribución PuTTY.

Putty son varios programas separados diseñados para trabajar con un servidor Unix usando los protocolos SSH1, SSH2, Telnet, Rlogin, Raw. El programa se ejecuta en Windows para Intel x86 y Alpha, así como en UNIX. Como se muestra en la fig. 9.11 el conjunto completo de programas, bajo el nombre general PuTTY, consta de las siguientes utilidades:

- putty.hlp - archivo de ayuda;

- putty.exe: un cliente para conectarse a un servidor mediante los protocolos telnet, ssh, raw, rlogin;

- puttygen.exe - generador de claves rsa / dsa;

- pageant.exe es un agente de autenticación que almacena claves en la memoria; cuando lo usa, no necesita ingresar manualmente una frase de contraseña;

- plink.exe: interfaz de línea de comandos para putty;

- pscp.exe: copia segura de archivos;

- psftp.exe es un cliente ftp seguro para copiar, ver, renombrar archivos, etc.

La instalación de masilla es opcional, simplemente puede copiar los archivos al directorio deseado.

Ejecute putty.exe y cree un perfil con la configuración de nuestro servidor remoto. En PuTTY, puede crear perfiles para varios servidores SSH, por lo que no tiene que conducir en la configuración de un servidor específico cuando desee conectarse nuevamente. Ahora estamos en la categoría Sesiones (vea el árbol de la izquierda en la Figura 9.11). Ingrese la dirección de host 192.168.100.3 en la línea Nombre de host (o dirección IP), deje el número de puerto predeterminado (22) y el Protocolo (SSH). Debajo de la inscripción Sesiones guardadas, ingrese el nombre del perfil, por ejemplo, Sesión con CentOS, que lo ayudará a recordar a qué servidor pertenece este perfil.

Figura 9.11. Creando un perfil con configuraciones en PuTTY

Luego vaya a la categoría Conexión -> Datos y especifique en el nombre de usuario de inicio de sesión automático (ver Fig. 9.12) el nombre de usuario bajo el cual nos conectaremos al servidor SSH - raíz.

Figura 9.12. Establecer el nombre de usuario del host remoto

Ahora de vuelta a la categoría Sesiones, guarde el perfil haciendo clic en Guardar. La próxima vez que inicie PuTTY, simplemente seleccione el perfil apropiado de

Sesiones guardadas, haga clic en Cargar y abrir.

Ahora podemos conectarnos a nuestro servidor SSH simplemente haciendo clic en Abrir. Cuando este cliente se conecta por primera vez, aparece una advertencia (consulte la Fig. 9.13).

un riesgo de seguridad similar al mensaje que se muestra en la Fig. 9.5. Esto se debe a que PuTTY aún no conoce la clave pública del host del servidor. PuTTY escribe la clave de host para cada servidor que se une al registro de Windows. Cada vez que se conecta al servidor, verifica que la clave de host proporcionada por el servidor es la misma clave que la última conexión. Si este no es el caso, recibirá una advertencia y podrá terminar su conexión antes de ingresar cualquier información privada (como una contraseña). Dado que nos estamos conectando al servidor mediante el protocolo SSH, todo lo dicho en lo anterior sobre la verificación de la clave pública del servidor para conectar un cliente Linux se aplica a esta conexión.

En nuestro caso, no hay dudas sobre la autenticidad del servidor: presionamos el botón

Arroz. 9.13. Advertencia de PuTTY cuando se conecta por primera vez a un host remoto

Dado que guardamos el nombre con el que nos estamos conectando en la configuración del perfil, no necesitamos volver a escribirlo, solo especificaremos la contraseña de usuario (Fig. 9.14).

Arroz. 9.14. Sesión de control de servidor remoto

Se ha establecido la conexión remota. En la Fig. La figura 9.14 muestra algunos comandos ejecutándose en un servidor Linux remoto y luego reiniciando el servidor de forma remota. Después de reiniciar, la sesión se vuelve inactiva. Debe cerrarse y volver a conectarse al servidor cuando se inicie.

Se consideró el método de conexión más común: con identificación por contraseña. Si alguien averigua el nombre y la contraseña, también puede conectarse. Por lo tanto, si tiene una contraseña simple y / o es víctima de un ataque de fuerza bruta, puede haber problemas. Alternativamente, puede utilizar el método Autenticacion de usuario utilizando cifrado de clave pública. Puede utilizar PuTTYgen para generar un par de claves pública / privada. Luego, la clave pública deberá transferirse al servidor y la clave privada deberá adjuntarse al perfil PuTTY. Estos procedimientos se detallan en el manual de putty.hlp.

Por lo tanto, la configuración de laboratorio desarrollada le permite estudiar en detalle el control remoto de un servidor Linux desde un cliente Winows.

Orden de trabajo:

1) Comprueba si está funcionando super servidor xinetd. Si no se está ejecutando, instale super-

servidor del paquete xinetd-2.3.14-10.el5.i386.rpm. (/ usr / sbin)

2) Verifique usando el comando de búsqueda para presencia y ubicación servidor ssh shhd. Si sshd no está instalado, instale desde paquetes

openssh-4.3p2-16.el5.i386.rpm, openssh-askpass-4.3p2-16.el5.i386.rpm; openssh-server-4.3p2-16.el5.i386.rpm. (usr / sbin)


Fecha de publicación: martes 19 de enero de 2009 10:43:53
Traducción: Kovalenko A.M.
Fecha de transferencia: 4 de agosto de 2009

¿Está utilizando tanto Windows como Linux? ¿Puede controlar Windows de forma remota desde Linux (Ubuntu u otra distribución) o Linux desde Windows? Seguro que puedes. Similar a cómo se usa Conexión de escritorio remoto entre plataformas Microsoft (o control remoto entre máquinas Linux), es posible controlar el escritorio desde diferentes plataformas. Puede hacer clic en el escritorio e iniciar aplicaciones, como si estuviera sentado frente a su computadora.

Discutiremos algunas posibilidades diferentes que puede obtener utilizando Conexión a escritorio remoto. Además, lo guiaremos a través del método para establecer una conexión de escritorio remoto paso a paso utilizando herramientas gratuitas. Entonces empecemos.

Seleccionar un protocolo de escritorio remoto

Las aplicaciones de escritorio remoto suelen utilizar Protocolo de escritorio remoto(RDP) o protocolo Red de Computación Virtual(VNC). Para establecer una conexión remota, ambos nodos (servidor y cliente) deben admitir el mismo protocolo. El problema es que no todos los sistemas operativos (SO) utilizan los mismos protocolos de forma predeterminada. Además de esto, algunas distribuciones de Linux y algunas ediciones de Windows no incluyen un servidor de escritorio remoto o una aplicación cliente, o no contienen una aplicación de escritorio remoto en absoluto.

Su primera tarea debería ser identificar un protocolo que ya sea compatible con sus computadoras. Además de investigar su sistema operativo, buscar documentación, enlaces a hojas de trucos, debería poder comprender qué es qué y dónde. Luego, al final, debes elegir un protocolo para usar en todas tus computadoras.

Nota:

  • VNC de escritorio remoto suele ser más lento que las conexiones RDP; sin embargo, VNC suele ser más fácil de implementar en diferentes plataformas.
  • Para un mejor rendimiento y seguridad, puede utilizar el servidor y los clientes NX gratuitos de NoMachine, o el servidor y los clientes FreeNX, pero es más complicado de configurar y requiere un poco de reflexión.
  • También es posible proporcionar soporte para conexiones RDP en máquinas Linux, por ejemplo, usando un servidor xrdp.

Abrir un cortafuegos (cortafuegos)

Antes de proceder a establecer o aceptar conexiones remotas, debe configurar su software de firewall. Las computadoras a las que desea conectarse de forma remota deben permitir el tráfico VNC o RDP a través del firewall.

En Windows, cuando inicia el servidor, debe recibir una solicitud para bloquear o permitir el acceso a la red para la aplicación del servidor de escritorio remoto. Si hace clic en el botón "Permitir", todo debería funcionar. Si no recibe una solicitud, puede ir a las propiedades del Firewall de Windows y agregar el permiso para esta aplicación manualmente usando los números de puerto que se indican a continuación.

En Linux, lo más probable es que deba agregar manualmente reglas de entrada en el firewall del host que acepta solicitudes de conexión. Si es necesario, puede abrir un navegador desde el menú y buscar en Google información sobre cómo configurar el firewall. Su distribución de Linux puede incluir una GUI (interfaz gráfica de usuario) para su firewall, o puede usar la línea de comandos para configurarlo. De la misma manera, agregue una excepción o regla para permitir el tráfico en los puertos apropiados que se enumeran a continuación.

  • RDP usa el puerto TCP 3389
  • VNC usa puertos que comienzan en 5900 (cada conexión remota al servidor usa un puerto diferente; la pantalla 1 usa el puerto 5901, la pantalla 2 usa el puerto 5902, y así sucesivamente). El mejor método, por lo tanto, es establecer un alcance en los puertos (como 5900-5905) cuando crea una regla o excepción de firewall.

Ahora tiene la capacidad de conectarse de forma remota a computadoras en su red local. Para conectarse de forma remota a través de Internet, también debe configurar su enrutador. Discutiremos esto en la siguiente parte.

Uso de VNC Server y Client en Ubuntu

Si está utilizando Ububntu, ya tiene un cliente y un servidor VNC instalados y listos para usar. (Este artículo se basa en la distribución de Ubuntu Desktop 8.10 Intrepid Ibex). Para poder aceptar conexiones remotas, simplemente seleccione en el menú Sistema> Propiedades> Escritorio remoto... En el cuadro de diálogo, configure los recursos compartidos y la configuración de seguridad deseados. Se le presenta la lista de comandos / direcciones para especificar otras computadoras en la red local con Ubuntu u otra distribución de Linux instalada desde la cual conectarse.

Para usar el visor de VNC (visor) en Ubuntu, seleccione Aplicaciones> Utilidades> Terminal... Si se está conectando a una computadora con Ubuntu instalado, escriba el comando proporcionado por Ubuntu. Si se está conectando a una computadora en la que está instalada otra distribución de Linux, se utiliza el siguiente formato de comando:

$ vncviewer Computer_Name o _Dirección IP: #

como se muestra en la Figura 1. Esta línea contiene el comando, vncviewer, seguido del nombre o dirección IP de la computadora (o IP de Internet si se conecta a través de la web), terminando con dos puntos y la ID de la pantalla (túnel). Si se está conectando a una computadora en la que está instalado Windows, los dos puntos y el número de pantalla no se indican; en este caso, el formato del comando es el siguiente:

$ vncviewer ComputerName_or_IP_address

Foto 1

Instalación de VNC Client and Server en otras distribuciones de Linux

Si está utilizando una distribución de Linux que no sea Ubuntu, busque en sus repositorios los paquetes adecuados para instalar el servidor y el cliente VNC. Si no existen tales paquetes, puede descargar TightVNC directamente desde su sitio web y seguir las instrucciones de montaje e instalación.

El servidor TightVNC / RealVNC no tiene GUI, debe usar la línea de comando, pero no se preocupe, es fácil. Solo abre Terminal, escriba vncserver y presione Entrar. En el primer inicio, se le pedirá que cree una contraseña para las conexiones VNC. Después de establecer la contraseña, la pantalla o el túnel se configurarán automáticamente como se muestra en la Figura 2.


imagen 2

VNC admite múltiples pantallas para brindar acceso a una gran cantidad de usuarios y / o definir opciones para atributos como resolución de pantalla, comandos de inicio, etc. Cada vez que se ejecuta, el comando vncserver crea un nuevo túnel, generalmente comenzando con 1, que se incrementa en uno cada vez que se ejecuta el comando.

Las siguientes son las diversas opciones para el comando vncserver que es útil recordar:

  • Para obtener ayuda, use la opción -help o ingrese el comando man vncserver.
  • Con la opción -name nombre deseado, puede asignar un nombre a un túnel o pantalla específicos que aparecen en la barra de título del cliente VNC cuando se conecta de forma remota a esa pantalla.
  • Corrección: # le permite definir manualmente el túnel o mostrar el número.
  • Con la opción -geometry WxH puede configurar el ancho y alto de la pantalla para la pantalla del escritorio remoto.
  • Al agregar -depth #, puede establecer la profundidad de color de 8 a 32 bits por píxel.
  • Para cerrar el túnel VNC, use la opción -kill: #, reemplazando el icono de almohadilla con el identificador de túnel (pantalla) deseado.

Dependiendo de la distribución específica de Linux y la solución VNC que esté instalada, es posible que tenga o no una interfaz gráfica de usuario para la aplicación cliente o visor. Si hay una interfaz gráfica, no dude en usarla, pero si lo desea, también puede usar la línea de comandos.

Para una interfaz gráfica, normalmente puede ajustar las opciones desde un cuadro de diálogo. Cuando se conecte a una máquina Linux, escriba el nombre de la computadora o la dirección IP de la máquina remota (o IP de Internet cuando se conecte a través de la web), seguido de dos puntos, túnel o ID de pantalla y presione Entrar. Por ejemplo, ericlinuxbox: 1 o 192.168.0.122:1. Si se está conectando a una máquina con Windows, los dos puntos y el número de pantalla no son necesarios. Para conectarse desde un terminal, ingrese vncviewer y la información del host de la misma manera que se muestra en la Figura 1 anterior.

Instalación de cliente / servidor VNC en Windows

TightVNC también ofrece un cliente y un servidor en una versión de Windows en su página de descarga. Después de instalar TightVNC, puede iniciar el servidor desde el menú Comienzo (aprox. traductor: Inicio> Todos los programas> TightVNC) seleccionando Iniciar TightVNC Server. Aparecerá un cuadro de diálogo de propiedades (consulte la Figura 3) donde debe asignar una contraseña para las sesiones entrantes.

imagen 3

Después de verificar todas las configuraciones, haga clic en Aceptar. El servidor se iniciará y estará listo para recibir conexiones entrantes, mientras que el icono del servidor aparecerá en la bandeja del sistema. Una vez más, no utilice dos puntos y muestre el número cuando se conecte a una computadora con Windows desde cualquier plataforma.

Si se está conectando a una computadora remota desde Windows, seleccione el acceso directo de TightVNC Viewer en el menú de inicio. Del mismo modo, para conectarse desde otras plataformas, ingrese el nombre o la dirección IP de la computadora remota (o la dirección IP de Internet cuando se conecte a través de la web), y cuando se conecte a una computadora Linux, incluya dos puntos y el número de pantalla en el comando.

Puede verse como un acto de agresión, pero a veces es simplemente necesario.

Hay casos en los que los usuarios utilizan sesiones remotas para una máquina ya utilizada (suena inusual, pero se puede utilizar para organizar el trabajo con varios escritorios). La mayoría de los usuarios no saben exactamente cuándo necesitarán esta funcionalidad.

Los usuarios experimentados de Unix a menudo hablan de SSH y la línea de comandos como herramientas para obtener acceso a un escritorio gráfico, pero existen aplicaciones separadas para este propósito.

Techradar ha probado el sistema VNC y sus características en muchos clientes. Sin embargo, existen otros protocolos y tipos de acceso a escritorio remoto. La creciente popularidad de estos clientes radica en el soporte de varios protocolos de transmisión, por lo que independientemente del tipo de servidor utilizado y la máquina de destino, encontrará una solución adecuada.

Los investigadores se adhirieron al principio de evaluación justa de los distintos protocolos. Por ejemplo, NoMachine NX admite conexiones VNC, pero se probó junto con su propio servidor NX, lo cual es bastante razonable.

El cliente TightVNC no se ha probado porque es muy similar a la implementación de TigerVNC. Ambos productos tienen la misma base de código, pero TigerVNC tiene algunas características adicionales.

¿Cómo se hizo la prueba?

Un elemento clave de un cliente de escritorio remoto eficaz es la respuesta rápida a las operaciones. Una interfaz ideal no será tan buena si tiene que esperar dos minutos para el registro de cada pulsación de tecla.

Las pruebas probaron la capacidad de jugar de forma remota el juego Armegatron. En este juego OpenGL poco exigente, se necesita una fracción de segundo para actualizar la pantalla. Los resultados pueden ser algo subjetivos, pero este método ha demostrado ser muy eficaz para demostrar la capacidad de respuesta del cliente.

Los clientes se probaron junto con una computadora local con un procesador de 4 núcleos y 16 gigabytes de memoria en una LAN gigabit con Ubuntu 14.04.3. Los servidores utilizados fueron el servidor X11 VNC y el servidor NX oficial para clientes NX. La funcionalidad basada en RDP es compatible con algunos productos, pero no se ha probado en la práctica.

Los propios clientes trabajaron en una máquina virtual con un proceso Core i7 de 2 núcleos, 4 GB de RAM y Fedora 23.

El servicio de soporte técnico de RUVDS es contactado regularmente sobre la GUI y el acceso remoto a ella en servidores virtuales que ejecutan Linux, a pesar de que hay muchos materiales en Internet que cubren este problema. Por lo tanto, para nuestros usuarios, decidimos recopilar todo sobre este tema en un artículo.

También puede reenviar el tráfico RDP a través de un túnel SSH. Para hacer esto, necesita corregir el archivo de configuración xrdp:

$ vi /etc/xrdp/xrdp.ini
Agregue la línea a la sección: dirección = 127.0.0.1

$ systemctl reiniciar xrdp
Puede comprobar que todo es correcto de la siguiente manera:

$ nmap -p 3389 Iniciando Nmap 6.47 (http://nmap.org) en 2016-10-04 13:07 Informe de escaneo de MSK Nmap para unspecified.mtw.ru () El host está activo (latencia de 0.0087s). SERVICIO DE ESTADO PORTUARIO 3389 / tcp cerrado ms-wbt-server
Entonces, si está utilizando cygwin o mingw, linux o mac os:

SSH [correo electrónico protegido]-L 3389: localhost: 3389
Si PuTTY:

Inicie PuTTY. En el menú de árbol de la izquierda, Conexión → SSH → Túneles. A continuación, agregue un nuevo puerto reenviado (puerto de origen: 3389, destino: localhost: 3389). Haga clic en Agregar.

VNC

Cliente:

Por ejemplo, pongamos este DE:

$ apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E $ echo "deb http://packages.x2go.org/debian jessie main"> /etc/apt/sources.list.d/x2go .list $ echo "deb-src http://packages.x2go.org/debian jessie main" >> /etc/apt/sources.list.d/x2go.list $ apt-get update $ apt-get install x2go- llavero && apt-get update $ apt-get install x2goserver x2goserver-xsession
El resultado del siguiente comando debería mostrar que x2go está listo para funcionar:

$ systemctl status x2goserver ● x2goserver.service - LSB: Iniciar y detener el demonio X2Go Cargado: cargado (/etc/init.d/x2goserver) Activo: activo (en ejecución) desde Tue 2016-10-11 22:05:51 MSK; Hace 30min ...
Y ahora el punto importante, ¡no podrá conectarse sin esta solución! Necesita encontrar la línea "mesg n" en el archivo .profile y reemplazarla con "tty -s && mesg n".

$ vi .perfil
El siguiente comando imprimirá la ruta al archivo ejecutable startfluxbox, que será necesario al configurar el cliente:

$ whereis startfluxbox
Instalación del servidor en Ubuntu:

$ apt-get install xfce4 xfce4-terminal $ add-apt-repository ppa: x2go / estable $ apt-get update $ apt-get install x2goserver x2goserver-xsession

$ vi .perfil
Instalación del servidor en CentOS:

$ yum instalar epel-release $ yum instalar x2goserver x2goserver-xsession
El cliente Linux se instala desde los repositorios anteriores con el siguiente comando:

$ apt-get install x2goclient
Para Windows: descargar, instalar, ejecutar. El mismo enlace anterior tiene un cliente para OS X.

Lanzar el cliente:

En la configuración de la sesión, indicamos: en el campo Host - la IP de su servidor, en el campo Login - root, deje el puerto como está, tipo de sesión - la GUI que instaló.

Como puede ver, existe una opción de autenticación de clave. En general, muchas cosas. Ver por ti mismo. Y el sonido se puede emitir a través de PulseAudio.

Después de hacer clic en Aceptar, verá cosas tan encantadoras que debe hacer clic para recibir una solicitud para ingresar una contraseña y conectarse a la sesión seleccionada:

Nota: tenga en cuenta que su FluxBox favorito no está en la lista, por lo que debe escribir la ruta manualmente.

Una característica importante de x2go es la capacidad de ejecutar cualquier aplicación gráfica sin instalar DE en absoluto. Para hacer esto, en la configuración de la sesión, en la sección de tipo de sesión, seleccione el elemento de la aplicación única y seleccione la aplicación que se ejecutará o ingrese la ruta al programa que se ejecutará.

En este caso, la instalación del software en el servidor se verá así. En el caso de Ubuntu:

$ add-apt-repository ppa: x2go / estable $ apt-get update $ apt-get install x2goserver x2goserver-xsession
Y ahora el punto importante, ¡no podrá conectarse sin esta solución! Necesita encontrar en el archivo .profile la línea "mesg n || true "y reemplácelo con" tty -s && mesg n ".

$ vi .profile $ apt-get install firefox xterm
Y al configurar la sesión como se muestra a continuación, puede iniciar el navegador en el servidor remoto y se abrirá una ventana en su máquina que lo mostrará:

Más o menos; entonces se abrirá una ventana de terminal:

A continuación, puede ver una captura de pantalla de la ventana de estado de la sesión actual. Los botones están marcados con números naranjas:

  1. "Suspender sesión": después de presionar este botón, la conexión se terminará, pero la sesión permanecerá y esperará la reconexión. Todas las aplicaciones que haya iniciado en el servidor seguirán funcionando;
  2. "Terminar sesión": después de hacer clic, se terminará la conexión con el servidor y las aplicaciones que inició en el servidor.

TeamViewer

La última forma de acceder a tu escritorio de forma remota.

Instalación en Ubuntu:

$ apt-get update $ apt-get install lubuntu-desktop $ reboot $ dpkg --add-architecture i386 $ apt-get update $ wget http://download.teamviewer.com/download/teamviewer_i386.deb $ dpkg -i teamviewer_i386 .deb $ apt-get -f install $ teamviewer --passwd
Instalación en Debian:

$ apt-get update $ apt-get install lxde lightdm $ reboot $ dpkg --add-architecture i386 $ apt-get update $ wget http://download.teamviewer.com/download/teamviewer_i386.deb $ dpkg -i teamviewer_i386. deb $ apt-get -f install $ teamviewer --passwd
Instalación en CentOS:

$ yum groupinstall "X Window system" $ yum install epel-release $ yum install fluxbox xterm lightdm $ systemctl set-default graphical.target $ reboot $ curl -o TeamViewer_Linux_PubKey.asc -Lk http://www.teamviewer.com/link /? url = 354858 $ rpm --importar TeamViewer_Linux_PubKey.asc $ curl -LOk http://download.teamviewer.com/download/teamviewer.i686.rpm $ yum install teamviewer.i686.rpm $ teamviewer --passwd
También debe aceptar el acuerdo de licencia de TeamViewer, esto se puede hacer usando el "Modo de emergencia", o agregue las siguientes líneas al final del archivo /opt/teamviewer/config/global.conf:

$ echo "EulaAccepted = 1" >> /opt/teamviewer/config/global.conf $ echo "EulaAcceptedRevision = 6" >> /opt/teamviewer/config/global.conf $ teamviewer --daemon restart
El siguiente comando mostrará el estado del demonio de TeamViewer y la ID de TeamViewer de nueve dígitos necesaria para conectarse:

$ teamviewer --info

Después de iniciar el cliente descargado aquí, debe ingresar el ID de TeamViewer en el campo UD de socio y hacer clic en el botón "Conectar a socio". A continuación, TeamViewer le pedirá una contraseña :.

En lugar de una conclusión

Eso parece ser todo. Esperamos que este artículo ayude a los usuarios del servidor Linux a configurar un entorno cómodo y conveniente para ellos.

Escritorio remoto le permite conectarse a su computadora a través de Internet usando otra computadora o incluso un teléfono inteligente. A menudo, es posible que deba hacer algo en otra computadora, incluso si no está cerca de ella. Ubuntu también tiene esta capacidad.

En este artículo, veremos cómo configurar el escritorio remoto de Ubuntu 16.04, así como cómo conectarse a él mediante varios dispositivos. Usaremos VNC como protocolo de acceso remoto, es lento y ya está desactualizado, pero es compatible en todas partes. En Ubuntu 16.04, casi todo el software ya está instalado de forma predeterminada, solo necesita cambiar algunas configuraciones.

Escritorio remoto de Ubuntu

Como dije, usaremos VNC como protocolo de acceso remoto. Y como servidor, Vino, este programa se suministra por defecto junto con la distribución. Y solo tiene que hacer algunos ajustes para que funcione.

Abra el menú principal de Dash y escriba buscar Compartir escritorio.

Si el sistema no encuentra nada, este es un error común. Puede ejecutar la utilidad a través de la terminal. Para hacer esto, abra una terminal con Ctrl + Alt + T y correr:

preferencias de vino

A continuación, en la ventana que se abre, marque la casilla "Permita que otros usuarios vean su escritorio" Luego frente al campo "Requerir contraseña" ingrese la contraseña que se utilizará para conectarse:

Todo aquí, el escritorio remoto de ubuntu está configurado. Y ahora puede intentar conectarse a su computadora usando otra distribución de Linux. Pero hay una cosa más. No podrá conectarse desde Windows. El cifrado obligatorio está habilitado de forma predeterminada. Y esto no es compatible con todos los clientes. Para deshabilitar el cifrado forzado, debe instalar dconf-editor:

sudo apt install dconf-editor

Luego abre el programa y sigue el camino org.gnome.desktop.remote-desktop allí desmarque el elemento:

Ahora está listo para probar su conexión de escritorio remoto de ubuntu. Abra el menú principal y busque el cliente de conexión remota Remmina.

En la cadena de conexión, seleccione el protocolo VNC, luego ingrese la dirección, ya que vamos a verificar en la máquina local, luego ingrese localhost, de lo contrario tendrá que usar la dirección IP de la computadora. Siguiente clic "Conectar":

Inmediatamente, el programa le pedirá una contraseña para obtener acceso remoto a la computadora:

Y luego, ya en el sistema VNC, el servidor le preguntará si necesita permitir la conexión al escritorio remoto de ubuntu 16.04 a este cliente:

Después de aprobar la conexión, puede usar Escritorio remoto. Ahora es el momento de conectarse desde otra computadora. Puede usar cualquier cliente VNC para Linux, Windows o Android y conectarse a su computadora si está en la red local. Además, puede acceder a él incluso a través de Internet creando una red de área local privada, por ejemplo, utilizando hamachi u OpenVPN.

conclusiones

En este artículo, analizamos cómo configurar Ubuntu 16.04 Remote Desktop y cómo acceder a él usando otros dispositivos. Todo es muy sencillo, incluso más sencillo que con el mismo x11vnc, para lo cual es necesario crear varios archivos de configuración. Si aún tienes dudas, ¡pregunta en los comentarios!

Entradas relacionadas: