Utilizzo della riga di comando PuTTY per il download di file tramite SSH


2

Sto studiando varie opzioni per scrivere un programma in grado di automatizzare il download di file su un server SSH. Mi serve per accedere automaticamente, navigare in directory diverse e scaricare tutti i file da lì.

Tuttavia, dopo aver riflettuto ulteriormente, mi sembra che potrebbe essere più semplice utilizzare la riga di comando PuTTY per scaricare tutti i file da varie cartelle sul mio computer Windows.

Al momento ho un account root che non voglio davvero. (Temo che qualcosa possa andare storto, e sarò la colpa.) Potrei chiedere all'amministratore del server di fornirmi un account limitato solo con privilegi di lettura - e solo a quelle directory? PuTTY funzionerebbe ancora o richiede qualcosa di speciale sul server SSH per funzionare? In tal caso, sarebbe il modo n. 1 per me di risolvere il problema del mio cliente.

Risposte:


8

WinSCP è un buon client per il trasferimento di file su SSH e può funzionare da Windows Cli o Gui.

per quanto riguarda i diritti, no non hai bisogno di root su ssh, e se riducono i tuoi privilegi ma ti concedono le autorizzazioni necessarie sui file di cui hai bisogno, questo dovrebbe funzionare bene per te. personalmente non autorizzo il login root tramite ssh, ma non tendo a eseguire distro che abilitano un account root per impostazione predefinita.


Grazie per la tua risposta. L'ho votato per ora. Più che altro ho bisogno di linea di comando però. Ma controllerò WinSCP :)
Tom

Winscp può essere utilizzato tramite Cli, quindi è solo una questione di gusti nei clienti.
Frank Thomas,

5

La suite di utility PuTTY include pscpquale è equivalente al scpcomando OpenSSH . Puoi usarlo in questo modo:

pscp -pw password username@remote.server.com:/path/to/folder/* c:\local\folder

Ciò copierà tutti i file remoti nella cartella specificata nella cartella locale e non richiederebbe nulla di speciale sull'estremità remota, oltre a consentire l'accesso limitato all'utente ssh e l'accesso alla cartella.

Probabilmente vorrai esaminare l'uso di chiavi pubbliche / private per evitare la necessità di inserire la password negli script: la seconda risposta a questa domanda ti mostra come.

Quindi useresti:

pscp -i /path/to/private.key username@remote.server.com:/path/to/folder/* c:\local\folder

Per fare ciò, l'account utente dovrebbe avere un /home/username/.ssh/authorized_keysfile e il server SSH dovrebbe consentire l'autenticazione con chiave pubblica.


Questa sembra essere una soluzione ideale. Lascerò la domanda aperta per qualche tempo per ricevere più risposte. (Ma sospetto che segnerò questa come risposta.) Ho votato a favore la tua risposta per ora :)
Tom
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.