Mover la carpeta .ssh de / var / root /

2

Intenté configurar una clave ssh para iniciar sesión fácilmente en el servidor que aloja mi sitio web: ssh-keygen -t dsa -b 1024 . Las claves (públicas y privadas) se han guardado en /var/root/.ssh , lo cual no me gusta porque tengo que sudo -s antes de rsync para acceder a la clave privada.

¿Hay alguna forma fácil y segura de mover la carpeta ssh desde /var/root/.ssh a mi carpeta de usuario, de modo que pueda usar las claves incluso si no es root? ¿Qué ubicación para moverlo? ¿Cuál es el comando para novato que se utilizará para la reubicación? (para mac os 10.10) Gracias.

    
pregunta Gilles 06.09.2015 - 15:41

2 respuestas

2

Si simplemente ha creado una clave DSA como root, sería más seguro hacer lo siguiente (desde un terminal como su propio usuario):

mkdir -p ~/.ssh
sudo cp -av /var/root/.ssh/id_dsa /var/root/.ssh/id_dsa.pub /Users/$USER/.ssh/
chown -v $USER: ~/.ssh/id_dsa*
chmod -v 600 ~/.ssh/id_dsa

Esto creará un directorio de configuración .ssh en su homedir ( mkdir -p no hará ruidos fuertes si ya existe ~.ssh , y no hará nada), copie los archivos de clave pública y privada de root homedir a su cuenta, luego establezca los permisos correctos y la propiedad de sus archivos.

Esto no es destructivo (no estás moviendo nada, solo estás copiando); una vez que esté satisfecho, el par de claves le permite conectarse a su host remoto con éxito como usuario de inicio de sesión normal, puede sudo rm -fv /var/root/.ssh/id_dsa /var/root/.ssh/id_dsa.pub Esto tampoco afecta a ningún otro archivo en la carpeta .ssh de la cuenta.

    
respondido por el neuro 07.09.2015 - 13:19
2

Abra Terminal mientras esté conectado como su usuario habitual, luego ejecute

mkdir ~/.ssh
sudo sh -c 'mv /var/root/.ssh/* /Users/'$USER'/.ssh/'
sudo chown $USER ~/.ssh/*
sudo chgrp $(groups | cut -d \  -f 1) ~/.ssh/*
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*

Esto supone que no has creado ningún par de claves ssh como las que usaste habitualmente (y, por lo tanto, no tienes archivos en ~/.ssh ).

PS: Algunas explicaciones:

  • First sudo mueve el contenido de la carpeta .ssh de la raíz a la del usuario actual. Debe hacerse llamando a una subshell ( sh -c ) porque la parte de comodín ( /var/root/.ssh/* ) solo funciona después de que sudo haya cambiado el usuario actual a la raíz. $USER es una variable de entorno que contiene el nombre del usuario actual
  • Third sudo cambia la propiedad del grupo de los archivos copiados al grupo primario del usuario actual. Como no hay una variable de entorno conveniente para esto, se debe utilizar la salida de groups (que enumera todos los grupos a los que pertenece un usuario). Tenga en cuenta los dos caracteres de espacio después del \ .
respondido por el nohillside 06.09.2015 - 15:49

Lea otras preguntas en las etiquetas