SCP da un server all'altro senza richiesta password


19

Qual è il modo migliore di fare scpda una casella all'altra senza richiedere la password?

Esistono due server:

  • Server A (10.152.2.10): /home/oracle/export/files.txt

  • Server B (10.152.2.11): /home/oracle/import/

Se voglio trasferire i file utilizzando scpdal server A al server B senza che venga richiesto di inserire una password

[eseguendo questo dal server A, /home/oracle/export/]

scp files.txt oracle@10.152.2.11:/home/oracle/import

Questo mi richiederebbe una password quando si immette il comando.

Comprendo che è necessario generare e copiare un keygen sul server A. Pertanto [sul server A]:

ssh-keygen -t rsa

Questo mi dà due file memorizzati in /home/oracle/.ssh:

id_rsa
id_rsa.pub

1. Devo copiare i due file ( id_rsa, id_rsa.pub) nel server B /home/oracle/.ssh?

Mentre esegui una ricerca su Google su questo, alcuni articoli citati su come aggiungere / concatenare questo a authorized_keys.

2. Devo creare questo file da solo?

Mi sembra confuso su quale sia il modo giusto per farlo.

A proposito, i due server eseguono Suse Linux Enterprise Edition 9 ...


1
Prova 'keychain': gentoo.org/proj/en/keychain

Risposte:


16
  1. No, tieni id_rsaper te; tuttavia, id_rsa.pubche è la chiave pubblica, può essere copiata sui server a cui si desidera avere accesso. Concatenali alla fine di ~/.ssh/authorized_keys.
  2. Sì, è possibile creare ~/.ssh/authorized_keysse non è già stato creato; altrimenti, basta aggiungere alla fine del file, usando cat id_rsa.pub >>~/.ssh/authorized_keys.

11

Inoltre c'è uno strumento che ordina tutto questo per te chiamato ssh-copy-id.

Aggiungerà la chiave nel tuo agente se ne hai una in esecuzione nel authorized_keysfile e la creerà se non esiste con le giuste autorizzazioni. Se non si esegue un agente, è possibile specificare la chiave da inviare con -i:ssh-copy-id -i ~/.ssh/id_rsa


5

Dovresti anche controllare le autorizzazioni sui vari file e directory:

authorized_keys needs perms of 600 (chmod 600 authorized_keys)
the .ssh directory should be 700
your home directory should be at most 744

La tua home directory non deve essere scrivibile da nessuno diverso da te.


0

Nel caso in cui si configuri la chiave generata da ssh-keygenma il trasferimento senza password non funziona, quindi verificare la chiave pubblica utilizzata sul computer di origine nel comando in modalità dettagliata come di seguito:

sftp -v -oPort=22 userid@server

Di solito si riferisce alla chiave pubblica in /home/<user>/.ssh/id_rsa.pub cui potrebbe essere diversa da quella generata utilizzando ssh-keygen. Devi aggiungerlo id_rsa.pubsul server di destinazione.


0

Vorrei fare quanto segue:

Sul cliente:

ssh-keygen -t rsa
ssh-copy-id oracle@10.152.2.11

Questo copia la chiave dal client al server. Avrai bisogno della password del server per farlo aggiungere la tua chiave al suo squillo.

  • L'autenticazione con password deve essere attiva oppure è necessario consegnare manualmente il file di chiavi al server.

Sul server:

Vorrei almeno disattivare l'autenticazione con password.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.