martes, 5 de noviembre de 2013

Configurar Teamviewer en Linux desde remoto por SSH

Tengo por costumbre, cuando instalo un ordenador Debian para un familiar o buen amigo hacer dos cosas:
La primera, instalar un servidor ssh (véase Acceso remoto con SSH – Walter Omar Autalán) escuchando en un puerto que no sea el 22, debido a que cientos de gusanos pueblan la red en busca de dicho puerto, y por otro lado instalar un teamviewer, dejando un icono en el escritorio que reza así “Llamar a Txavi – telf. xxx.xxx.xxx”.
De estas dos maneras, cuando la persona en cuestión me llama pidiéndo ayuda, conecto por un lado o por el otro. Hoy os vamos a explicar como iniciar Teamviewer sin la ayuda del Looser común. Hay gente, os puedo garantizar que, no es capaz de hacer doble click sobre el icono citado.


Lo primero comentar una peculiaridad. Instalar Teamviewer remotamente vía ssh es muy fácil pero solo tiene un problema, el Looser común tiene que aceptar el “Contrato de condiciones de la empresa Alemana”, con lo que, os recomiendo que la instalación la hagáis antes de entregar el equipo. En cualquier caso, para instalar Teamviewer. Primero, lo descargamos en el equipo desde la consola.

Para Arquitectura de 64 Bits:
wget http://download.teamviewer.com/download/teamviewer_linux_x64.deb



Para Arquitectura de 32 Bits:
wget http://download.teamviewer.com/download/teamviewer_linux.deb



Proseguimos con la instalación de 64 bits, para la de 32 bits, cambiar el paquete.
sudo dpkg -i teamviewer_linux_x64.deb



Respecto al instalador, puro estilo Micro$oft, siguiente, siguiente y como no, siguiente.

Una vez hecho esto, os aparcera en el menú de aplicaciones, en la pestaña de internet. Lo inicias y aceptáis las condiciones de uso germanas.

Ahora viene lo interesante, Teamviewer no tiene que ser “nateado” a través del router de Timofonica o el que sea, ya que la conexión se realiza de dentro a fuera, saltando así cualquier firewall, tanto del equipo como del router correspondiente del ISP. Esto es realmente cómodo.

Teamviewer viene con una serie de binarios ejecutables que, desde consola nos permiten hacer unas cuantas cosas. Aquí es donde entra la conexión ssh, no se explicará como realizar dicha conexión ya que ese no es el objetivo de este post. Una vez logeados correctamente en la maquina remota podemos hacer.

No situamos en el directorio donde esta el binario de Teamviewer.
cd /usr/bin



Para probar el binario hacemos.

teamviewer --help



Nos aparece esto

TeamViewer 8.0.17147

teamviewer start TeamViewer user interface (if not running)

teamviewer --help print this help screen
teamviewer --version print version information
teamviewer --info print version, status, id
teamviewer --passwd [PASSWD] set a password (useful when installing remote (ssh)
teamviewer --ziplog create a zip containing all teamviewer logs (useful when contacting support)

teamviewer --daemon status show current status of the TeamViewer daemon
teamviewer --daemon start start TeamViewer daemon
teamviewer --daemon stop stop TeamViewer daemon
teamviewer --daemon restart stop/start TeamViewer daemon
teamviewer --daemon disable disable TeamViewer daemon – don’t start daemon on system startup
teamviewer --daemon enable enable TeamViewer daemon – start daemon on system startup (default)

Las opciones se describen por si mismas. En este ejemplo NO recordamos ni el ID del usuario, ni su password, entonces hacemos.
teamviewer --info


TeamViewer 8.0.17147

teamviewerd status teamviewerd stop/waiting

TeamViewer ID: 34XXXXXXX

Con eso ya sabemos el ID. Si queremos poner un password, hacemos:
teamviewer --passwd Aa1234


ok
/etc/init.d/teamviewerd start
Starting teamviewerd…

Ahora nos olvidamos del binario, y vamos a trabajar con el script que esta en /etc/init.d a través del comando service.

En este punto solo nos falta verificar una cosa, ya tenemos el ID, tenemos el password, falta ver el estado del servicio.
sudo service teamviewerd status


teamviewerd stop/waiting

Si este es su estado, levantarlo con:
sudo service teamviewerd start


Starting teamviewerd…

Ahora si hacemos un:
netstat -ntap | grep teamviewer



Vemos como ha conectado con los servidores germanos, ahora lo comentaremos.


tcp 0 0 127.0.0.1:5944 0.0.0.0:* LISTEN 2095/teamviewerd
tcp 0 0 192.168.0.10:37176 178.255.156.102:5938 ESTABLISHED 2095/teamviewerd

Punto importante, debéis cerrar la conexión SSH con el Pc remoto, ya que Teamviewer usa las mismas librerías de encriptación que Openssh, si no cerráis el tunel ssh, el cliente de Teamviewer no podrá conectarse.

Ahora ya solo nos falta abrir nuestro cliente, poner los datos y a ¡¡disfrutar!!.

Respecto a la privacidad que nos prometen los germanos:

Cualquier parecido con una VPN es pura coincidencia. Si, la conexión esta encriptada, pero Teamviewer se asegura de saber donde y cuando, ¿que quiero decir?, que si seguís las trazas con netstat, traceroute y whois podréis ver como si conectáis con vuestro hermano en Madrid el viaje empieza primero en uno de los servidores de Teamviewer.
Siempre las conexiones son a tres, nunca a dos. Así que si sois un poco paranoicos (como es mi caso), mejor os montáis una VPN lan2lan y ponéis un servidor de X como FreeNx.

Extraido de
http://aulacero21.xtrweb.com/wordpress/2013/03/29/configurar-teamviewer-en-linux-desde-remoto-por-ssh/