Hay dos máquinas Linux, A y B. Las secuencias de comandos que se ejecutan en A necesitan poder SSH en B. Por lo tanto, A genera una clave pública (probablemente un id_rsa.pub generado por ssh-keygen), y luego usa su clave privada respectiva ( nuevamente, probablemente id_rsa) para hacer esa conexión SSH.
Si algo de lo que he dicho anteriormente es incorrecto o está equivocado, ¡comience por corregirme!
Suponiendo que estoy más o menos en el objetivo:
Si
pero B necesita que la clave pública de A aparezca en el archivo de claves autorizadas de B para que A pueda conectarse a B
también puede eliminar id_rsa.pub y ssh en B y seguirá funcionando, porque la clave pública se genera fresca con cada conexión ssh y no se almacena en ningún id_rsa.pub
¿Cómo “da” a B su clave pública (id_rsa.pub)? ¿Tiene que ser un proceso manual o puede ser automatizado? Si es manual, ¿cuál es el proceso? Si está automatizado, ¿cuál es el comando?
manual - algo como
a partir de una-
cat ~/.ssh/id_rsa.pub | ssh USER@HOST "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
o incluso más manualmente, para desglosar el comando
A $ cat id_rsa.pub | ssh user@host 'cat>~/a.a'
luego en B, asegúrese de que ~ / .ssh existe y luego haga cat a.a >> ~/.ssh/authorized_keys
y puede colocar las claves_autorizadas de B antes y después para asegurarse de que la clave aparezca en la lista.
O bien, puede enviar un correo electrónico a id_rsa.pub a una cuenta de correo electrónico, luego, desde B, B puede consultar el correo electrónico y agregar el contenido de id_rsa.pub a su archivo de claves autorizadas
automáticamente
El comando ssh-copy-id
Debe poder ingresar, por lo que necesita acceso con contraseña
En lugar de hacer ssh user @ host, hace ssh-copy-id user @ host y se le solicita una contraseña, la ingresa, ya está, copiará la clave pública. Y la próxima vez que haga ssh user @ host, usará la clave.
Cuando B "obtiene" esta clave pública, ¿a dónde va o se almacena?
B's ~ / .ssh / certified_keys
Al iniciar la conexión SSH a B, ¿cómo “usa” su clave privada (id_rsa) como parte de esa conexión?
bueno, no sé mucho al respecto, pero lo que está cifrado con una clave puede descifrarse con la otra clave, e identificarse es un poco diferente al envío de datos ... y puede haber algo sobre una clave temporal también.