Uso de SSH como unidad de red

Puedes usar ssh como un ftp seguro (sftp), de forma que toda tu información esté encriptada en la red.

Para hacer eso puede usar algunos navegadores de archivos como el Nautilus de Gnome o el Dolphin de KDE, solo con escribir la ruta remota en la barra de direcciones como se muestra:

ssh:[email protected]:/home/carlos

Donde carlos es la cuenta de usuario en el servidor, 192.168.1.20 es la dirección IP del servidor, y /home/carlos es el directorio remoto a mapear.
Pero y si tu navegador de archivos no soporta el protocolo ssh una posible opción es mapear el directorio usando sshfs y Fuse como si fuere otro punto de montaje más en el sistema.

Instalando SSHFS para Fuse

En Debian puedes instalar el paquete sshfs que proporciona esta funcionalidad:

mynotebook:~# aptitude install sshfs

Debes crear el directorio que servirá como punto de montaje. Como soy chapado a la antigua, me gusta crearlo en la carpeta /mnt/ siendo root:

carlos:~# mkdir /mnt/moody
carlos:~# chmod 777 /mnt/moody

Ahora debes agregar el usuario que mapeará el recurso en red al grupo fuse:

adduser carlos fuse

Uso de SSHFS

Ahora como un usuario regular puedes mapear la ubicación remota usando la orden sshfs:

[email protected]:~$ sshfs [email protected]:/home/carlos/mnt/moody/

Esto permitirá ver tu “unidad de red” como si fuese un directorio local en el sistema. Ten cuidado!!

Desmontar la unidad de red

Para desmontar la unidad de red basta con escribir en el terminal lo siguiente:

[email protected]:~$ fusermount -u /mnt/moody/

Puedes verificar que se desmontó con la orden mount.

SSH login sin contraseña

Objetivo

Desea utilizar Linux y OpenSSH para automatizar sus tareas. Por lo tanto, necesita un inicio de sesión automático desde el [email protected]  a [email protected] . No desea introducir ninguna contraseña, ya que desea llamar a ssh desde una secuencia de comandos de shell.

Cómo hacerlo

Primero inicie sesión en A como usuario a y genere un par de claves de autenticación. No introduzca una frase de contraseña:


[email protected]:~> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/a/.ssh/id_rsa):
Created directory '/home/a/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/a/.ssh/id_rsa.
Your public key has been saved in /home/a/.ssh/id_rsa.pub.
The key fingerprint is:
3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 [email protected]

Ahora use ssh para crear un directorio ~ / .ssh como usuario b en B. (Es posible que el directorio ya exista, lo cual está bien):


[email protected]:~> ssh [email protected] mkdir -p .ssh [email protected]'s password:

Finalmente agregue una nueva clave pública a [email protected]:.ssh/authorized_keys e ingrese la contraseña de b una última vez:


[email protected]:~> cat .ssh/id_rsa.pub | ssh [email protected] 'cat >> .ssh/authorized_keys' [email protected]'s password:

A partir de ahora, puede iniciar sesión en B como b desde A sin contraseña:


[email protected]:~> ssh [email protected]

Nota: Dependiendo de su versión de SSH, también podría tener que hacer los siguientes cambios:

  • Poner la cláve pública en  .ssh/authorized_keys2
  • Cambiar los permisos de .ssh a 700
  • Cambiar los permisos de .ssh/authorized_keys2 a 640