Set up passwordless file exchanges
È possibile inviare e recuperare file utilizzando l'autenticazione a coppia di chiavi pubbliche/private per SFTP senza password. In questo modo si automatizza la consegna dei file a OCLC e si elimina la necessità di inserire manualmente una password quando si utilizza un account di scambio file OCLC. Inoltre, consente alla vostra istituzione di cambiare regolarmente la chiave per una maggiore sicurezza.
Per motivi di sicurezza, OCLC non supporta il passaggio della password SFTP tramite script, ma offre invece la soluzione della coppia di chiavi pubbliche/private per consentire la scrittura di script completamente automatizzati per il caricamento e il download sul nostro server.
Note: OCLC supports SHA-224 and later.
Linux
Questa procedura riguarda i sistemi Linux. Sebbene metodi simili possano essere utilizzati per altri sistemi, OCLC ha testato questo metodo utilizzando Linux come computer client SCP e SFTP. Durante il caricamento della chiave pubblica viene richiesta una password, ma una volta sostituita, i futuri accessi e trasferimenti di file non richiedono una password.
Generare e caricare la chiave pubblica
Per generare e caricare la chiave pubblica sul vostro account di scambio file OCLC:
- Generate a private/public key pair on your client machine and put it in a file called /home/user1/.SSH/id_rsa.pub on your local machine.
If you are unsure how to generate a private/public key pair, you can use the method described below, which puts the private/public key file in the correct place on your local machine automatically. - Upload your public key to .ssh/authorized_keys in your OCLC file exchange account.
Do not delete the existing .ssh/authorized_keys file before uploading the new one. The new file you upload automatically replaces the existing file while retaining its permissions and ownership properties. If you delete the existing file before uploading the new file, you will have insufficient rights on the system to set the necessary group ownership for .ssh/authorized_keys and therefore will continue to be asked for a password.
Automatizzare un trasferimento SFTP tra due server
Configurazione SSH
La maggior parte di ciò si basa sulla configurazione di SSHd, il demone SSH (Secure SHell) in esecuzione sul server a cui si sta tentando di connettersi. Questo server sarà indicato come "server2.com" a scopo dimostrativo.
Controllare "SSHd_config" sul server, in genere in /etc/SSH. In alcuni casi, queste impostazioni non sono sempre presenti o impostate nel modo desiderato:
RSAAuthentication yes PubkeyAuthentication yes
Questo abilita il meccanismo di autenticazione a chiave pubblica/privata che si utilizzerà.
Generazione di chiavi pubbliche/private
Generare la coppia di chiavi sul computer Linux da cui ci si vuole connettere. Questo server sarà indicato come "server1.com". a scopo dimostrativo. È la scatola su cui si intende eseguire SSH, SFTP o Rsync.
SSH-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/user1/.SSH/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in .SSH/id_rsa. Your public key has been saved in .SSH/id_rsa.pub. The key fingerprint is: c1:21:e 3:01:26:0d:f7:ec:52:0e:0c:90:9b:6e:d8:47 user1@server1.com
Il comando precedente genera una coppia di chiavi pubbliche/private. Rispondete a ogni richiesta premendo <Enter>. Il possesso della chiave privata è sufficiente per ottenere l'accesso alle risorse in cui è stata inserita la corrispondente chiave pubblica.
Non è necessario inserire una passphrase per la chiave privata per configurare una soluzione automatica. Se si inserisce una passphrase, è necessario inserirla per utilizzare la chiave privata.
Nota: non inserendo una passphrase nella chiave privata, l'implicazione di sicurezza è che il semplice possesso della chiave privata è sufficiente per ottenere l'accesso a qualsiasi risorsa in cui sia stata inserita la corrispondente chiave pubblica. Salvaguardate la vostra chiave privata.
The private key was placed in /home/user1/.SSH/id_rsa. This needs to be kept secure because of the security implication above, but it also needs to be available to the process of attempting to make an SSH, SFTP, or Rsync connection. If these tools are run under the ‘user1’ account, the tools will automatically look in the “.SSH” directory, and you won’t need to specify the private key location. Otherwise, command line options must point to the right place and key.
La chiave pubblica si trova in /home/user1/.SSH/id_rsa.pub. Questa è la chiave che viene distribuita ai luoghi che vogliono garantirvi l'accesso.
Piantare la chiave pubblica
- Sul server remoto, server2.com, scegliete un account a cui volete collegarvi.
- Nella directory principale dell'account, creare un file .ssh e creare un nuovo file di testo chiamato authorized_keys in quella directory. Se esiste già un file di testo con questo nome, si utilizza il file esistente.
- Sul server remoto, server2.com, scegliete un account a cui volete collegarvi. Nella directory principale dell'account, creare un file .ssh e creare un nuovo file di testo chiamato authorized_keys in quella directory. Se esiste già un file di testo con questo nome, si utilizza il file esistente.
Nota: se si creano il file e/o la directory, si raccomanda di assegnare alla directory il chmod 700 e al file il chmod 600. In questo modo, solo il proprietario può accedere alla directory e ai file al suo interno.
- Aggiungete a questo file il contenuto del file id_rsa.pub creato in precedenza. Si tratterebbe di una *singola linea* che ha un aspetto simile a questo:
ssh-rsa <lots of characters> user1@server1.com
- Una volta salvato, chiunque possieda la chiave privata che corrisponde alla chiave pubblica può ora accedere come questo account.
SFTP
La chiave pubblica è stata inserita nell'account user2 su server2.com. Quindi ora, con il server1.com loggato come utente1 e con la chiave privata memorizzata come descritto sopra, una sessione sftp si presenta in questo modo:
sftp user2@server2.com
"user2" specifica l'account remoto su server2.com con cui effettuare il login.
L'autenticazione avviene perché la chiave privata viene abbinata alla chiave pubblica, il che indica che si è autorizzati ad accedere a quell'account. Viene aperta una sessione SFTP senza alcuna interattività.
Nota: se è stata inserita una passphrase nella chiave privata, verrà richiesto di inserirla qui. Si tratta della passphrase per sbloccare la chiave privata, che è locale. Non ha nulla a che fare con le password del sito remoto.
Rsync
È possibile utilizzare Rsync per le operazioni di copia dei file, che può gestire la compressione intelligente, la copia solo se necessaria, la ricorsione, la conservazione degli attributi di compressione, la data/ora e molte altre operazioni.
Se tutte le chiavi sono impostate come sopra, questo comando Rsync copia un file dal computer locale a quello remoto:
rsync -e ssh file user2@server2.com:/home/user2/
Il file locale "file" viene copiato nella cartella remota /home/user2/file dopo aver effettuato il login come "user2" utilizzando ssh come mezzo di trasporto (da qui l'opzione "-e ssh") e utilizzando la coppia di chiavi private/pubbliche creata per l'autenticazione senza richiedere alcuna interattività.
SSH
Anche SSH funziona per aprire una shell remota una volta che le chiavi sono a posto. Se tutte le chiavi sono impostate come sopra, questo comando SSH apre una shell remota sul server2, con accesso come utente2.
ssh user2@server2.com
Esempio
gli esempi che seguono indicano più di uno spazio per illustrare dove è necessario uno spazio. Quando si inseriscono i comandi, si prega di utilizzare un solo spazio.
If using a Linux-based system, you can use either of these commands to upload the public key file to the correct location. Before using either of these commands, you must generate a private/public key.
Metodo | Passi |
---|---|
SFTP |
|
Copia sicura |
|
If using an SFTP client such as FileZilla, take the following steps to upload the public key file to the correct location. Before using this command, you must generate a private/public key.
Metodo | Passi |
---|---|
SFTP |
|