En mi caso, quiero hacer un pago SVN:
svn co svn+ssh://10.106.191.164/home/svn/shproject
Sin embargo, quiero tener la contraseña en esa línea, para que no aparezca.
linux
ssh
svn
authentication
Alex
fuente
fuente
Respuestas:
fuente
sshpass
(que funciona para mí).Dado que está utilizando SSH, la forma preferida es utilizar una clave pública para la autorización, lo que ahorra la necesidad de una contraseña por completo.
Puede encontrar una guía para crear e instalar las claves aquí .
fuente
Infinitamente mejor es generar un par de claves. Como usuario local:
$ ssh-keygen -t rsa
(aceptar todos los valores predeterminados)
Luego tome el contenido de .ssh / id_rsa.pub y agréguelo en el servidor remoto a .ssh / Authorizedkeys Asegúrese de que todo esté pegado en la misma línea. También asegúrese de que los permisos del directorio .ssh sean 600.
Entonces debería poder ssh sin que se le solicite una contraseña.
fuente
En lugar de usar una contraseña, es posible que desee echar un vistazo a un par de claves privada / pública y hacer que ssh lo use. La mayoría de las distribuciones de Linux vienen con comandos fáciles de usar para crear ese par. sin embargo, esto requeriría acceso al servidor (una vez) para depositar el archivo de clave pública en el archivo ~ / .ssh / Authorized_keys de su usuario.
fuente
Bueno, yo no quiero que introduzca una contraseña - No me gusta depender de la contraseña de seguridad guardado en alguna parte; sin embargo, quiero ingresarlo una vez por conjunto de comandos svn + ssh; y a menudo, solo quieres hacer una
svn checkout
, y de todas formas tienes que ingresar toneladas de contraseñas. En ese caso, me gustaría escribir una contraseña solo una vez.Entonces, solo las respuestas de @Boinst y @Marius fueron relevantes para mi caso de uso; desafortunadamente, no ayudaron, ya que no pude hacer que trabajaran. Me pregunto si los autores de la publicación probaron los comandos antes de publicarlos, ya que ahora no puedo imaginar cómo podrían funcionar: aquí hay una prueba que hice localmente en mi PC Ubuntu 10.04 (y rompo con Ctrl-C, cada vez que veo el solicitud de contraseña aparece):
En lo que respecta
--username/--password
a lasvn
línea de comandos, eso no importasvn+ssh
, porque estássh
preguntando, nosvn
:svn - Subversion ignorando las opciones "--password" y "--username"
Además, como lo muestra el registro,
ssh
no acepta "username:password@...
" en la URL, y tampoco lo hacesvn
.svn
Es probable que se explique por qué es aceptable usar solo nombre de usuario en la URL en~/.subversion/config
:Observe que no se dice nada al respecto
<user>:<pass>@<hostname>
.Ahora, gracias a la página Subversion sobre SVN + SSH en Debian , finalmente me di cuenta de que hay una
SVN_SSH
variable de entorno utilizada~/.subversion/config
para el túnel ssh (supongo); y eso finalmente abre la posibilidad de usar el programasshpass
para manejar la contraseña de una manera unidireccional:Bueno, al menos me alegro de haber encontrado finalmente una solución que funcione para mí. Espero que esto también ayude a alguien más,
¡salud!
fuente
fuente
También puede usar el nombre de usuario y la contraseña de los interruptores dados .
Consulte Autenticación de línea de comandos .
fuente
Creo que usar sshpass (en Linux) es la mejor manera de obtener esto.
Instalar sshpass
Establecer la variable de entorno temporal
Edite el archivo de configuración de svn
Finalmente comentar agregar
sshpass -e
a la línea ssh, antes delssh
comandofuente