it-swarm-es.tech

ssh sin contraseña para otro nombre de usuario?

Quiero hacer una conexión ssh sin contraseña para un proyecto de Subversion. En este momento estoy usando ssh + svn, y es un poco molesto, porque tengo que escribir la contraseña cada vez que quiero realizar transacciones con el servidor.

Encontré varios tutoriales en la web sobre cómo generar una clave para ssh sin contraseña, pero todos parecen suponer que estoy usando el mismo nombre de usuario en el sistema remoto que en mi sistema doméstico. Sin embargo, el nombre de usuario que uso para ssh + svn es diferente al nombre de la cuenta de usuario en el sistema que estoy ejecutando. ¿Cómo configuro esto correctamente? No he tenido suerte con solo cambiar el nombre en el archivo de clave.

15
user394

Solo tiene que proporcionar el nombre de usuario del otro sistema en el comando svn:

$ svn co svn+ssh://[email protected]/path/to/repo

Para responder también el título de su pregunta:

$ ssh [email protected]

Esto hace que sshd en la máquina remota busque en ~otheruser/.ssh/authorized_keys para la clave pública correspondiente a la clave privada en la máquina en la que está escribiendo el comando.

15
Warren Young

Hay dos maneras de hacer esto:

1) poner usuario @ en la url svn; esto le dice a svn + ssh que inicie sesión como ese usuario. Creo que es una mala idea desde una perspectiva de mantenimiento porque cosas como elementos externos que apuntan a otras partes del repositorio no funcionarán correctamente.

2) crea un ~/.ssh/config (documentado como ssh_config ) que dice algo como:

Host othersystem
  User otheruser

de esta manera cualquier intento de ssh a othersystem usará otheruser de manera predeterminada. Lo cual es útil para ti cuando haces ssh manualmente y cuando estás usando svn.

9
pjz

No tiene que tener el mismo nombre de usuario en ambas máquinas. Siempre que genere la clave (ssh-keygen) tienes que copiar la línea de ~/.ssh/id_rsa.pub o ~/.ssh/id_dsa.pub (según el tipo de clave) del servidor local y añádelo a ~/.ssh/authorized_keys en el control remoto.

% ssh-keygen
% cat ~/.ssh/id_*.pub | ssh [email protected] 'cat > .ssh/authorized_keys'

Si no desea escribir remoteuser cada vez agregue ~/.ssh/config:

Host remoteserver
    User remoteuser

PD. El nombre de la clave puede estar en forma de [email protected] pero es solo un nombre. Puede ser igual de bien [email protected] ya nadie le importaría.

6
Maciej Piechotka

Después de crear .ssh/config y ejecutar:

cat ~/.ssh/id_*.pub | ssh [email protected] 'cat > .ssh/authorized_keys'

Me sale el error:

Bad owner or permissions on /usr/share/eprints3/.ssh/config

entonces agrego chmod 600 .ssh/config, y después de eso, funciona sin problemas.

enter code here
0
prazetyo