Deberías utilizar claves SSH para autenticarte en lugar de poner tu contraseña en la línea de comandos, ya que es extremadamente inseguro.
La forma en que esto funciona es una vez que tienes tus claves SSH configuradas, todo lo que tienes que hacer es emitir el comando:
ssh user@host
y sin necesidad de teclear nada más, se conectará automáticamente.
Copiar la clave pública SSH a Mac/FreeBSD/Linux desde MacOS
Esto supone que tienes acceso al servidor remoto a través de la autenticación basada en la contraseña (escribiendo una contraseña), y que ya has generado tu par de claves privadas/públicas (si no es así, ver más abajo). En el siguiente ejemplo, estamos utilizando RSA. Para empezar, copiemos la clave (ten en cuenta que el directorio "home" difiere entre MacOS, Linux, BSD, etc.):
Utilizando el SCP:
scp ~/.ssh/id_rsa.pub username@hostname:/Users/username/.ssh/
O simplemente cat-ing el archivo a authorized_keys
(Yo prefiero este método):
cat id_rsa.pub | ssh username@hostname ' cat >>.ssh/authorized_keys'
(El nombre de su clave puede ser diferente) Si el directorio .ssh no existe en el servidor remoto, tendrá que iniciar sesión y crearlo.
Ahora la clave se ha copiado del mac al remoto servidor. Establezca los permisos correctos para la clave pública SSH en el servidor remoto:
chmod 600 ~/.ssh/id_rsa.pub
A continuación, añada la clave al archivo SSH authorized_keys, si el archivo no existe, créelo.
Si el archivo authorized_keys
ya existe en ~/.ssh
el uso de la siguiente orden:
cat id_rsa.pub >> authorized_keys
Si el archivo no existe, introduzca los siguientes comandos:
cat id_rsa.pub > authorized_keys
chmod 600 authorized_keys
chown user:group authorized_keys
Generar clave pública/privada SSH en MacOS
Abra el Terminal yendo a Aplicaciones -> Utilidades -> Terminal
En el terminal, utilice el siguiente comando para iniciar la generación de claves
ssh-keygen -t rsa
A continuación, se le pedirá que indique la ubicación donde desea crear el archivo de la clave privada:
Introduzca el archivo en el que desea guardar la clave ( /Users/username/.ssh/id_rsa
):
Déjelo vacío para crear la clave en la ubicación por defecto, que es /Users/username/.ssh/id_rsa
. El archivo de la clave pública se creará en la misma ubicación y con el mismo nombre, pero con la extensión .PUB.
Después se le pedirá que elija una frase de acceso. Esta es la contraseña opcional para utilizar la clave privada.
Enter passphrase (empty for no passphrase):
Su clave SSH es generada.
Ahora bien, ten en cuenta que si pones una frase de acceso tendrás que introducirla cada vez que te conectes. La utilidad ssh-agent
mantendrá la frase de contraseña en la memoria, aliviando la necesidad de introducirla manualmente cada vez que se conecte mientras esté en la misma sesión. Para más detalles, consulte man ssh-agent
3 votos
Este tipo de pensamiento viene de los días de telnet y esperar, en la época en que Internet era un lugar más seguro. La respuesta de Allen es correcta, la respuesta de Jakuje es técnicamente cierta pero no es la herramienta para el trabajo en la mayoría de los lugares.
3 votos
Esta es una buena pregunta para configurar el inicio de sesión sin contraseña. Te pediría que revisaras tu respuesta aceptada. Que la respuesta de Jakuje -es- correcta, y funcionará, la forma adecuada de hacerlo es con claves SSH, descritas en la respuesta de Allan.
0 votos
Si
ssh
leería la contraseña desde stdin, y luegoecho password | ssh host@IP
funcionaría, pero normalmente SSH intenta leer directamente desde la terminal.