Está en la página 1de 4

Cómo configurar SSH, SCP y SFTP en Mandriva Linux

Enviado por XescoMM el 4 Marzo, 2009 - 12:18


Instalación y configuración
SSH son las siglas de Secure SHell. Lo que te ofrece es una consola en un ordena
dor remoto con los privilegios que tenga la cuenta con la que conectes. Se trata
de un protocolo de acceso remoto que permite copiar datos de forma segura, pasa
r datos de cualquier aplicación mediante tunneling con SSH. Y todo esto con encrip
tación de datos. Trabaja por el puerto 22, cosa que no hay que olvidar a la hora d
e abrirlo en el firewall de Mandriva.
Los archivos de configuración que se ocupan de SHH, son:
- sshd_config (Para los servidores)
- ssh_config (Para los clientes)
Nosotros sólo necesitamos retocar el primero.
Puede ser que venga ya instalado y solo tengáis que ir al Centro de Control de Man
driva para abrir los puertos, pero por si no lo estuviera, como root ejecutamos:
# urpmi openssh
Esto automáticamente nos instalará las dependencias openssh-clients y openssh-server
. Una vez instalado pasamos a la configuración del sistema. En el archivo sshd_con
fig, que se encuentra en /etc/ssh/, encontraremos un apartado con lineas comenta
das y otras descomentadas tal que así:
Archivo de configuración de SSH
La parte descomentada es la que se ejecutará de forma predeterminada. Ahora nosotr
os vamos a configurar el archivo para tener unas mínimas condiciones de seguridad
en cuanto a proteger el acceso por usuario. El acceso por clave pública/privada lo
veremos más adelante.
Cambiaremos el puerto para evitar los robots que atacan directamente al de SSH.
Esto no quita que el caco pueda intentar averiguar “el portal” si sabe cómo hacerlo, p
ero al menos, le ponemos impedimentos. También hay scripts que atacan directamente
el puerto 22, por lo que el cambio de puerto es algo obligatorio. Para esto pon
dremos la variables siguientes en el archivo anterior:
#Cambiamos el puerto
Port 9918

#Especificamos que use el protocolo versión 2


Protocol 2
Respecto a las opciones de autentificación, encontramos dos. La primera es el número
de segundos que tendrá el usuario remoto para hacer login en tu máquina. Como no de
beríamos tardar mucho en hacer login si sabemos la cuenta y la password, vale la p
ena poner un valor pequeño. De esta forma evitamos ciertos scripts que se aprovech
an de ese tiempo.
LoginGraceTime 15
Otra opción fundamental que tenemos que desactivar es permitir el acceso en modo “ro
ot”. Si queremos usar comandos de administrador, o instalar algun paquete o cualqu
ier cosa para la que necesitemos ese tipo de permisos, lo podemos hacer mas tard
e estando ya dentro del sistema remoto, con el comando “su”.
PermitRootLogin no
También podéis señalar con el dedo las cuentas que tienen permitido el uso SSH (AllowU
sers). Esto es muy útil para restringir el uso de SSH en el acceso a nuestra cuant
a a quien nosotros queramos. Además de restringir el acceso de esta forma, también s
e puede hacer mediante la IP desde donde nos vamos a conectar.
AllowUsers mandriva amigo
AllowUsers nuestra_cuenta cuenta_amigo@IP_amigo
Quien intente conectar debe acordarse de su login y password, por lo que es tont
ería darle un número grande de intentos. En principio con dos son más que suficientes.
Si al segundo intento no lo ha conseguido se cortará la conexión SSH. Siempre se pu
ede volver a conectar y reintentarlo, pero así nos quitamos de encima ciertos scri
pts que intentan encontrar el login por fuerza bruta a base de ensayo y error.
MaxAuthTries 2
Otra opción interesante es marcar un máximo de conexiones simultáneas. En nustro caso
al ser 5 personas en el grupo de SO, vamos a configurarlo para poder entrar todo
s al mismo tiempo.
MaxStartups 5
A
hora solo queda reiniciar el servicio ssh para que los cambio se apliquen:
# service sshd restartSSH tiene infinitas opciones de configuración y de ejecución,
si queréis ampliar más es conveniente mirar el manual (# man ssh).
Acceso por clave pública/privada
La generación de una pareja de claves pública-privada se realiza ejecutando en el cl
iente ssh-keygen. Nos dará la opcion de crear una palabra de paso aunque en caso d
e pulsar intro nos creará una en blanco, la cual no nos será requerida cuando acceda
mos.
# ssh-keygen -t rsa
Generación de claves RSA
Las claves se almacenan por defecto en ~/.ssh/, quedando el directorio así:
Generación de claves RSA - Caputra 2
Los ficheros id_rsa e id_rsa.pub contienen respectivamente las claves privada y
pública. El fichero known_hosts contiene la lista de las claves públicas de las máquin
as reconocidas.
Ahora se debe copiar la clave pública al fichero ~/.ssh/authorized_keys de cada us
uario que vamos a usar, dentro del servidor al que queremos acceder. Para ello s
e utiliza el comando ssh-copy-id:
# ssh-copy-id -i ~/.ssh/id_rsa.pub user@machine1
# ssh-copy-id -i ~/.ssh/id_rsa.pub user@machine2
ssh-copy-id es un script que se conecta a la máquina y copia el archivo (indicado
por la opción -i) en ~/.ssh/authorized_keys, y ajusta los permisos a los valores a
decuados.
Ahora la conexión debería funcionar sin necesidad de introducir la clave. Si no es a
sí es posible que sea un problema de permisos en los ficheros. Los permisos correc
tos deben ser similares a estos:
# chmod go-w $HOME $HOME/.ssh
# chmod 600 $HOME/.ssh/authorized_keys
Para poder acceder al servidor desde cualquier cliente, debemos copiar los fiche
ros id_rsa e id_rsa.pub dentro de ~/.ssh/ de la cuenta de usuario de cada client
e desde el que queramos realizar la conexión hacia el servidor. Además de esto, en e
l archivo sshd_config debemos habilitar las opciones de acceso mediante clave pu
blica/privada:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
SCP
CP viene junto a SSH, y se trata de una herramienta para transmitir archivos y d
irectorios entre ordenadores de forma remota. La sintaxis es muy simple teniendo
las mismas opciones que SSH, las cuales hereda.
El modo de empleo sería el siguiente en caso de que queramos copiar archivos de nu
estro ordenador al remoto:
# scp archivo usuario@servidor.com:ruta
Y para copiar a la inversa, desde el computador remoto al tuyo, simplemente tien
es que invertir el orden de los elementos:
# scp usuario@servidor.com:ruta/archivo ruta_local
Para mandar carpetas completas se puede emplear el siguiente comando
# scp -r carpetaSO/ usuario@host:/carpeta_padre
La forma inversa sería exactamente igual a la de los archivos, solo que cambiaríamos
el susodicho por una carpeta:
# scp -r usuario@host:/carpeta_padre/carpetaSO
Si queremos copiar el contenido de la carpeta pero no la misma, la sintaxis es:
# scp carpetaSO/* usuario@host:/carpeta_padre/carpetaSO
Hay que decir que por defecto la ruta a la que copia es en /home/usuario, así que
en caso de querer copiar archivos allí podemos omitir la ruta, pero no los dos pun
tos:
# scp fichero.txt usuario@host:
SFTP
El protocolo de transferencia de archivos SFTP es un protocolo de red que propor
ciona la transferencia de archivos y la funcionalidad de manipulación de datos fia
bles sobre cualquier secuencia ya que los datos circulan cifrados por la red. Se
utiliza normalmente con SSH a fin de asegurar la transferencia de archivos.
# sftp usuario@host
Implementa muchas de las opciones que tenemos por defecto en consola. Para copia
r datos tenemos el método put, y para importar tenemos get:
# get [-P] /ruta/remota/del/archivo /ruta/local/del/archivo
# put [-P] /ruta/local/del/archivo /ruta/remota/del/archivo
-P Cuando esta opción está presente, copiará todos los permisos y accesos del archivo.
‹ Cómo configurar CRON para programar tareas arriba Cómo configurar Wake on Lan / Wan
en Mandriva Linux ›
* Blog de XescoMM
* Entra a tu cuenta o crea una para poder comentar.
# Enlace permanente
Comentarios
2 comentarios escritos
Opciones de visualización de comentarios
Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar o
pciones» para activar los cambios.
Comentarios sobre sftp
Buen manual. Sólo un par de apostillas.
1) Todos los clientes ftp que yo he usado soportan también el protocolo sftp. Los
administradores de archivos de KDE (Dolphin) y de GNOME también los soportan.
2) Si has cambiado el puerto de escucha al demonio ssh, hay que indicarlo cuando
se use sftp. En el ejemplo, pusiste Port 9918, luego hay que escribir en consol
a
sftp usuario@host:9918
Si se pone otro puerto, pues se pone el adecuado. Si se usa Dolphin, por ejemplo
, en la barra de direcciones hay que poner
sfp://usuario@maquina:9918
MOT
--
MOT
Gravatar de motitos
Escrito por motitos el 4 Marzo, 2009 - 13:44
* Entra a tu cuenta o crea una para poder comentar.
SFTP en puerto diferente
Muy buen post.
Desde consola si te quieres conectar con otro puerto
sftp -o Port=9918 usuario@host
--
Gravatar de garchacesaug
Escrito por garchacesaug el 17 Junio, 2009 - 18:42
* Entra a tu cuenta o crea una para poder comentar.
Opciones de visualización de comentarios
Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar o
pciones» para activar los cambios.
Feed
Feed

También podría gustarte