meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| linux:ssh [112021/03/ 16:15] – [Copiar ficheros] lc | linux:ssh [182023/01/ 13:11] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| + | {{tag> | ||
| + | ===== SSH ===== | ||
| + | ==== Clientes SSH ==== | ||
| + | * http:// | ||
| + | * http:// | ||
| + | === Para Windows === | ||
| + | * http:// | ||
| + | ==== Automatizar SSH ==== | ||
| + | |||
| + | Una de las cosas más frecuentes es conectarte por ssh a varias máquinas y ejecutar los mismos comandos. Para automatizar esta tarea podemos usar varias herramientas: | ||
| + | |||
| + | * ClusterSSH http:// | ||
| + | * Paramiko http:// | ||
| + | |||
| + | ==== Bastionado ==== | ||
| + | http:// | ||
| + | ==== Trucos ==== | ||
| + | * http:// | ||
| + | * http:// | ||
| + | |||
| + | ==== Instalación de un servidor SSH ===== | ||
| + | < | ||
| + | === Configuración === | ||
| + | El fichero de configuración está en / | ||
| + | |||
| + | Es recomendable hacer los siguientes cambios: | ||
| + | * Cambiar el puerto 22 por otro-> | ||
| + | * Usar sólo la versión 2 del protocolo-> | ||
| + | * Denegar iniciar la sesión como root -> PermitRootLogion no | ||
| + | * Definir la interfaz por la que vamos a escuchar (en caso de tener varias) -> ListenAddress 192.168.1.10 | ||
| + | |||
| + | |||
| + | |||
| + | ===== Uso del SSH ===== | ||
| + | la forma de conectar por ssh es < | ||
| + | |||
| + | Si en vez del puerto 22 se usa otro puerto < | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Configurar SSH ===== | ||
| + | La configuración del servicio ssh se encuentra en / | ||
| + | |||
| + | * Protocol: Versión a usar del protocolo ssh, lo mejar es usar la versión 2 | ||
| + | * LoginGraceTime: | ||
| + | * PermitRootLogin: | ||
| + | * AllowUsers: podemos indicar que usuarios si pueden conetarse por ssh e incluso indicar desde que ip se permite. Basta poner el nombre del usuario o con usuario@ip | ||
| + | * MAxAuthTries: | ||
| + | * MaxStartups: | ||
| + | ==== Desactivar el login del root por ssh === | ||
| + | |||
| + | ===== Proxy Socks con SSH ===== | ||
| + | Podemos crear un proxy a partir de una conexión ssh con un comando del tipo: | ||
| + | |||
| + | ssh -D 9999 USUARIO@IP | ||
| + | |||
| + | Y en el navegador seleccionar en la configuración del proxy ' | ||
| + | |||
| + | Otra opción es ejecutar | ||
| + | < | ||
| + | |||
| + | Con el flag -f ejecutamos SSH en segundo plano. Con el flag -N le decimos que no vamos a ejecutar ningún comando, por lo que no nos dará acceso a la consola. El flag -D es el que crea una redirección de puertos local a nivel de aplicación. | ||
| + | |||
| + | < | ||
| + | |||
| + | Si una aplicación no soporta el proxy, podemos usar **tsocks**. tsocks, permite que cualquier aplicación utilice este tipo de proxies de forma transparente. | ||
| + | |||
| + | Lo instalamos < | ||
| + | < | ||
| + | server = 127.0.0.1 | ||
| + | server_type = 5 | ||
| + | server_port = 9999 | ||
| + | </ | ||
| + | Para utilizarlo : | ||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | ===== Túneles ssh ===== | ||
| + | |||
| + | En este ejemplo, vamos a conectarnos por ssh al equipo 99.99.99.99 por el puerto 9999 y como usuario " | ||
| + | |||
| + | ssh -p 9999 -P -L 1111: | ||
| + | |||
| + | Como resultado, si tenemos el vnc server trabajando en 192.168.0.99, | ||
| + | |||
| + | 127.0.0.1: | ||
| + | |||
| + | Para conectarnos a otra máquina por ssh: | ||
| + | |||
| + | ssh -p puerto usuario@ip | ||
| + | |||
| + | Si queremos copiar un fichero: | ||
| + | |||
| + | scp -P puerto fichero usuario@ip: | ||
| + | |||
| + | Si queremos ejecutar aplicaciones gráficas añadimos el parámetro -X: | ||
| + | |||
| + | ssh -X -p puerto usuario@ip | ||
| + | |||
| + | En caso de querer ejecutar un navegador por este método, es recomendable usar epiphany, pues es mucho más liviano que otros. | ||
| + | |||
| + | ===== SSH sin pedir contraseña ===== | ||
| + | Para validarte en otra máquina por ssh sin que te pida la contraseña, | ||
| + | < | ||
| + | Para conectarnos haríamos lo siguiente: | ||
| + | * En la máquina origen hacemos < | ||
| + | Generating public/ | ||
| + | Enter file in which to save the key (/ | ||
| + | Enter passphrase (empty for no passphrase): | ||
| + | Enter same passphrase again: | ||
| + | Your identification has been saved in / | ||
| + | Your public key has been saved in / | ||
| + | < | ||
| + | * Copiamos las claves a la máquina destino <sxh> ssh-copy-id usuario@ipdestino | ||
| + | id@server' | ||
| + | |||
| + | * Si no funciona, en / | ||
| + | |||
| + | < | ||
| + | rsync –e ssh –vrclHptogt –delete –force –stats –progress servidor:/ | ||
| + | |||
| + | ===== ssh en nautilus ===== | ||
| + | Cuando estamos trabajando en otra máquina a través de una conexión ssh, ¿no es una lata tener que andar copiando ficheros con scp? | ||
| + | |||
| + | Una alternativa mucho más cómoda es iniciar sesión en dicha máquina con nuestro navegador de archivos y arrastrar y soltar con el ratón. | ||
| + | Para ello, en la barra de direcciones de nautilus escribiremos: | ||
| + | < | ||
| + | |||
| + | Por ejemplo: | ||
| + | |||
| + | < | ||
| + | |||
| + | Al darle a enter nos solicitará la contraseña y accederemos a la máquina. | ||
| + | Si usamos el puerto por defecto para las conexiones ssh, y el usuario tiene permisos de lectura en la carpeta raíz, podemos obviar los datos puerto y directorio. | ||
| + | |||
| + | ==== Copiar ficheros ==== | ||
| + | === Desde local a remoto === | ||
| + | <sxh> scp fichero_origen usuario_remoto@ip_ordenador_remoto: | ||
| + | === Desde servidor remoto a local === | ||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== Referencias ==== | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||