OpenSSH è lo strumento principale di connettività per l'accesso remoto con il protocollo SSH. Si cripta tutto il traffico per eliminare le intercettazioni, dirottamento connessione e altri attacchi. Inoltre, OpenSSH fornisce una grande suite di funzionalità di sicurezza di tunneling, diversi metodi di autenticazione, e opzioni di configurazione sofisticate. OpenSSH è sviluppato da alcuni sviluppatori del progetto OpenBSD e reso disponibile sotto una licenza BSD-style. OpenSSH è incorporato in molti prodotti commerciali, ma pochissimi di quelle aziende assistere OpenSSH con il finanziamento. Contributi per OpenSSH possono essere inviati alla Fondazione OpenBSD. Questo sito Copyright copia 1999-2017 OpenBSD. Cygwin SSH Installazione Il server SSH Cygwin è una emulazione del ambiente UNIX e OpenSSH per Windows. Prima di configurare Cygwin SSH, si dovrebbe fare riferimento al file README si trova nella distribuzione del pacchetto Cygwin sotto usrsharedocCygwinopenssh. README. Ulteriori informazioni possono essere trovate nella Guida Cygwin utenti. Quanto segue è una panoramica di alto livello del processo di installazione di SSH. Installazione client SSH La macchina che esegue lo script di esplorazione richiede solo il client SSH. Per impostare un SSH Cygwin procedere con il seguente. Accedi come amministratore di Windows XP - accedere come utente con privilegi di amministratore di Windows Server 2003 - login come amministratore locale, non funzionerà per gli utenti di dominio o dominio admin. Assicurarsi che la adminuser corrente ha una serie password di Windows. In caso contrario, utilizzare il pannello di controllo-gtUser Account per creare una password. È una buona idea per disconnettersi e accedere di nuovo per verificare la password è stato creato con successo. Creare una cartella c: cygwin per la directory principale e C: cygwinpkg per lo stoccaggio pacchetto di download cygwins setup. exe dalla cygwin e salvare setup. exe in c: Cygwin. Si può scegliere di eseguire direttamente dalla sessione di download o fare clic su Start-gtRun e digitare: c: cygwinsetup. exe. Come si avvia setup. exe sarete accolti dal Setup quotCygwin netto di uscita Programquot ltNextgt. Dando per scontato che non si dispone già pacchetti scaricati alla vostra macchina è necessario selezionare l'quotInstall predefinito dal Internetquot. ltNextgt. La directory principale è la posizione in cui i file binari installati finali vivranno. Scegliere una posizione. Si consiglia di utilizzare un percorso che non contenga spazi. Per questo motivo scegliere il c: Cygwin creato in precedenza. Selezione quotAll Usersquot per l'opzione quotInstall Forquot permetterà altri utenti di utilizzare SSH. L'impostazione predefinita Tipo di file di testo - binario Unix è raccomandato. ltNextgt. Verrà richiesto per il tipo di pacchetto quotLocal Directoryquot: c: cygwinpkg. ltNextgt. Selezionare il tipo di connessione. Scegliere ciò che è applicabile. quotDirect Connectionquot è probabilmente applicabile in più casi ltNextgt. Scegli un sito di download che si trova più vicino a voi. ltNextgt. La finestra successiva mostra i vari pacchetti software che sono disponibili. Individuare il pacchetto openssh. Essa risiede sotto l'albero quotNetquot. Cliccando sulla parola quotskipquot selezionerà il pacchetto con un conseguente quotxquot visualizzato nella casella di controllo binario. La selezione di OpenSSH seleziona automaticamente OpenSSL dal momento che è una richiesta da OpenSSH. A meno che non si desidera che il codice sorgente di lasciare la seconda casella di controllo deselezionata. Fare clic su Avanti per avviare l'installazione Cygwin (il pacchetto base obbligatorio) e SSH. La dimensione di questi pacchetti è superiore a 50 MB. Dopo che i pacchetti Cygwin sono installati si ha la possibilità di creare le icone sul desktop. ltFinishgt SSH Configurazione del server Ognuna delle macchine che eseguono un client browsechild sono necessari per eseguire un demone sshd. Per configurare il server Cygwin SSHD è necessario prima completare i passi iniziali Setupquot quotSSH client. Se avete intenzione di adottare e mantenere l'ambiente SSHD successivamente alla esecuzione Sfoglia Benchmark si potrebbe desiderare di leggere le caratteristiche personalizzabili e opzioni di configurazione presenti nella Guida Cygwin utenti. Queste opzioni includono l'impostazione della (NT Security) variabile d'ambiente ntsec e modificare il PATH per includere c: cygwinbin. Come minimo, per l'installazione SSHD è necessario aprire una finestra di Cygwin (con un doppio click sull'icona Cygwin) e digitare: Sarà richiesto di rispondere ad alcune domande. Le domande variano a seconda se si desidera eseguire SSHD come un servizio o meno. Una volta completato, avviare il server sshd. Iniziato come un servizio: Iniziato sulla riga di comando all'interno di una shell Cygwin: Copyright 1996 2016 Perforce Software, Inc. Ultimo aggiornamento: DateTime: 20160412 15:41:50 Steve Friedls Unixwiz Tech Tips Molti utenti hanno implementato Secure Shell (SSH) per fornire l'accesso protetto ad un sistema Linux a distanza, ma non lo rendono conto che, consentendo l'autenticazione tramite password, sono ancora aperte a forza bruta attacchi da qualsiasi punto Internet. Ci sono vermi in esecuzione dilagante su Internet che fanno un lavoro efficace trovare combinazioni usernamepassword deboli, e questi non vengono fermati con l'uso di Secure Shell. Questo Tech Tip dettagli come utilizzare il client gratuito PuTTY SSH per connettersi a un sistema Linux in esecuzione il server OpenSSH, il tutto mentre utilizzando la crittografia a chiave pubblica e il sostegno agente SSH. Molte di queste informazioni si applica a qualsiasi installazione OpenSSH su qualsiasi sistema UNIX - Solaris, BSD, OpenServer - ma weve mirati questo per la piattaforma Linux quando le specifiche sono chiamati per. Installazione e semplice configlogin per assicurare piena senza password, l'accesso agent-based richiede un sacco di passaggi, in modo e approccio questo in passi da prima prevedendo regolare l'accesso con password al sistema. Ciò consente di collaudare l'installazione iniziale e la possibilità di accesso prima di abilitare le funzioni più avanzate. Scaricare e installare i programmi differenza della maggior parte dei programmi Windows, la suite PuTTY non richiede un programma di installazione: i singoli file exe vengono semplicemente caduto in una directory in cui vengono eseguiti direttamente. Ammiriamo l'economia e lo stile che PuTTYs autore dimostra. I file possono essere trascinati in qualsiasi directory che si trova nel percorso di comando degli utenti, e che normalmente utilizzano C: BIN (vedere l'elemento successivo per come configurare questo). Cinque file devono essere scaricati dal sito stucco. Putty. exe mdash Secure Shell cliente PuTTYgen. exe mdash SSH pubblico-privato chiave generatore Pagent. exe mdash SSH agente chiave PSCP. exe mdash Secure Copy da linea di comando PSFTP. exe mdash Secure Copy con interfaccia FTP come Assicurare la directory di installazione è nel comando percorso Anche se la sua possibile eseguire PuTTY con un percorso completo o un collegamento, in pratica i suoi file quando la sua piena disponibilità al prompt CMD per accedere o copiare utile da qualsiasi parte del file system. Pulsante destro del mouse su Risorse del computer sul desktop e selezionare Proprietà. Fare clic sulla scheda Avanzate in alto, quindi fare clic sul pulsante Variabili d'ambiente. Ciò fa apparire la finestra di dialogo mostrata a destra. C'è sempre variabile PATH nella sezione Variabili di sistema, e, talvolta, nella sezione Variabili utente pure. Solo gli amministratori hanno accesso a variabili di sistema, in modo da modificare o aggiungere il percorso come richiesto. Noi di solito messo la nuova directory all'inizio del percorso, e la sua separati dal resto della lista con un punto e virgola. Fare clic su OK per salvare tutte le modifiche. Creare un collegamento sul desktop PuTTY è spesso usato pesantemente da un lavoratore IT, per cui il suo utile avere un collegamento sul desktop per rendere per un facile accesso. Per aggiungere questo, fare clic destro sul desktop e fare clic su Nuovo collegamento. In entrambi i casi Individuare, o digitare il nome, il percorso del file eseguibile stucco. Nel nostro esempio, il suo stato C: binputty. exe. Fare clic su OK e dare il collegamento un nome conveniente. Avviare PuTTY e configurare per il sistema di destinazione lanciare PuTTY tramite la scorciatoia, e visualizzerà la finestra di dialogo di configurazione: ci sono molte opzioni qui. Bene compilare diversi per fornire un accesso con password al sistema, quindi configurare per l'accesso a chiave pubblica in seguito. Categoria: Nome host: dbserver Protocollo: () connessione SSH. nome utente dati Auto-login: steve connessione. SSH preferita SSH Protocol Version: () 2 Solo Una volta che queste semplici impostazioni sono state inserite, possono essere salvati per rendere per un facile accesso la prossima volta. Clicca sessione a sinistra, quindi inserire un nome in Saved Sessions - questo nome di solito è legato alla macchina sei connessione a. Fare clic su Salva per salvare le impostazioni nel Registro di sistema: weve scelto il nome del server di database. Accedi con le impostazioni salvate dalla fase precedente, wed come usarli per connettersi al sistema di destinazione. Avviare PuTTY (se non è già aperta), e nella sezione Sessione, fare clic sul nome della sessione salvata e fare clic su Carica. Fare clic su Apri per avviare la connessione. Quando richiesto, digitare la password per il proprio account sul sistema remoto, e se corretta, youll ricevere una conchiglia. Ora si può iniziare a lavorare sul sistema. Tuttavia - ogni volta PuTTY collega con un server, scambia l'identificazione in forma di chiavi host. Se la chiave host è sconosciuto, o una partita doesnt cosa weve visto in precedenza, si avvisa l'utente. Per host sconosciuti, questo è principalmente un'operazione pro forma, ma per sistemi precedentemente noti, può suggerire che l'host non è lo stesso come originariamente collegato. Le chiavi degli host che hanno cambiato senza preavviso può verificarsi quando il sistema operativo di destinazione viene reinstallato senza ripristinare le chiavi host dal backup, o potrebbe essere qualcosa di più nefasto come ad esempio una serie ladro mascherato da quella genuina. Si dovrebbe sempre indagare chiavi host inaspettatamente-cambiati Creazione e utilizzando più sessioni Quando l'utente ha solo bisogno di connettersi con un unico sistema, la sua possibile programmare in questi parametri nella sessione di default, ma la sua molto più comune per accedere a più sistemi. Con un po 'di messa a punto, si può facilmente creare e collegare a questi sistemi con un solo clic. Creare e salvare le sessioni Come abbiamo fatto nel paragrafo precedente, creare e salvare il maggior numero di sessioni di nome come necessario, e prendere nota dei nomi di sessione. Questi nomi possono fare riferimento sulla riga di comando con il parametro - load, e possono essere incorporati nella scorciatoia. Tasto destro del mouse sulle proprietà del collegamento e selezionare, quindi inserire il parametro - load insieme al nome della sessione (tra virgolette, se necessario). Fare clic su OK per salvare le proprietà del collegamento. E 'anche una buona idea di rinominare il collegamento per riflettere il nome del server propria connessione a: tasto destro del mouse sul collegamento e selezionare Rinomina. Una volta che il collegamento sessione è completamente configurato, fare doppio clic sull'icona lancia il collegamento. Creare il numero di tasti di scelta rapida pre-programmati in base alle esigenze. Creare e installare una coppia di chiavi pubblico-privato Il vero potere di Secure Shell entra in gioco quando si usano i tasti pubblico-privato. Diversamente autenticazione della password, accesso con chiave pubblica viene effettuata eseguendo una creazione di una volta di una coppia di molto lunghi numeri binari che sono matematicamente correlate. La fase di configurazione iniziale è moderatamente coinvolto, ma deve essere fatto solo una volta: una volta creata, la chiave può essere facilmente installato su quanti più sistemi remoti, se lo desideri. Esegui PuTTYgen una coppia di chiavi pubblico-privato mdash piccoli file che contengono molto grandi numeri binari è richiesta mdash, e PuTTYgen fa questo. La sua corsa solo una volta per creare una coppia di chiavi personali, che vengono poi installati ovunque sia necessario. Fare clic su Start. quindi su Esegui. Quindi immettere PuTTYgen nella casella della riga di comando. Verrà visualizzata la finestra di dialogo principale, mostrata a destra. Selezionare i parametri chiave come indicato, quindi fare clic su Genera. Poiché la dimensione della chiave DSA è fissato a 1024 bit, e la dimensione della chiave RSA può essere reso molto più grande, si consiglia una chiave RSA a 2048 bit. Si noti che il default è 1024 bit, è necessario sostituire manualmente per selezionare 2048. Nota: Non creare una versione 1 chiave di qualsiasi tipo: theyre non protetto. Ti saranno richieste per creare un po 'di casualità spostando il mouse: questo conferisce al sistema un po' di entropia aggiuntivo che contribuisce a creare chiavi migliori. Questo richiede solo pochi secondi per generare appieno la coppia di chiavi. Proteggere e salvare le chiavi Ora la coppia di chiavi è stato generato, ma esiste solo nella memoria PuTTYgens: deve essere salvato su disco per essere di qualche utilità. Anche se la chiave pubblica non contiene informazioni sensibili e verrà installato su sistemi remoti, la chiave privata deve essere protetta con forza: nessuno sappia la chiave privata ha piena corsa di tutti i sistemi remoti. La chiave privata viene generalmente protetto da una passphrase, e questa frase è entrato due volte nei campi indicati. Il commento è facoltativo ma è abitualmente l'indirizzo e-mail del proprietario della chiave. Potrebbe anche essere solo il nome proprietari. Non dimenticare la passphrase la coppia di chiavi è inutile senza di essa. La chiave generata deve ora essere salvato, e questo è fatto in tre parti: Salva chiave pubblica e chiave privata Salva sia pronta per un nome di file, e la chiave privata (con estensione. ppk) devono essere salvati in un luogo sicuro. La chiave pubblica è in un formato standard e può essere utilizzato direttamente o indirettamente da altri software, e sembra che questo: la chiave privata è in un formato PuTTY-specifico che cant essere utilizzato da qualsiasi altro software. E 'abitudine mai essere guardato direttamente dall'operatore. Installare la chiave pubblica sul sistema Linux con puttygen ancora aperto, evidenziare l'intera chiave pubblica per l'incollatura in OpenSSH authorizedkeys zona di file e il tipo di controllo-C per copiare negli appunti sistemi locali. Questo è essenzialmente gli stessi dati come si trova nel file chiave pubblica salvato, ma la sua in una forma che può essere utilizzata direttamente sul sistema Linux. Accedi al computer Linux utilizzando la password account, creare la directory. ssh, se necessario, quindi modificare le. sshauthorizedkeys file. Questo sarà un file di testo e gli appunti dovrebbe essere incollato in esso. La chiave pubblica sarà solo una lunga fila, ed è veramente facile incollare i dati in modo che tronca i primi caratteri. Questo rende la chiave inutilizzabile, in modo da essere sicuri che la chiave inizia ssh-rsa o ssh-DSA. Salvare il file. Assicurare che sia la directory. ssh ei file all'interno di esso sono leggibili solo dall'utente corrente (si tratta di una precauzione di sicurezza), e questo può essere realizzato utilizzando il comando chmod con i parametri per l'applicazione in tutta la directory: Esci dal sistema. Nota - il file authorizedkeys deve essere di proprietà dell'utente e unreadableunwritable da chiunque altro - il server OpenSSH potrà negare gli accessi se questo non è il caso. Si può verificare questo con il comando ls: Il file deve essere in modalità - rw -------. Fissare la chiave privata per la sessione SSH Ora che la coppia di chiavi pubblico-privato è stato creato, può essere associato ad una sessione SSH. In primo luogo, bene farlo in PuTTY con il lancio del programma e caricare la sessione di interesse. Passare alla connessione. SSH. Auth nel riquadro Categoria a sinistra, quindi popolare il file della chiave privata per il campo di autenticazione si naviga al file. ppk salvato in precedenza. Nota - con altri client Secure Shell, weve visto la possibilità di allegare una chiave privata per tutte le sessioni (come parte di una configurazione globale), ma con mastice sembra richiedere una configurazione per ogni sessione. non erano sicuri perché. Ritorno al livello di categoria di sessione e salvare la sessione corrente. A questo punto, PuTTY (su Windows) e OpenSSH (su Linux) sono entrambi configurati per l'accesso a chiave pubblica sicuro. Collegare tramite la chiave pubblica Ora che sono state completate le operazioni di configurazione, erano pronti per accedere realmente utilizzando il meccanismo chiave pubblica, evitando completamente il passo password. Collegare in modo sicuro Avviare PuTTY con la possibilità di caricare la sessione salvata con la chiave privata: Piuttosto che richiedere la password account (che sarà diverso per ogni sistema remoto), la sua invece chiedere la passphrase che protegge la chiave privata locale. Quando la chiave privata si inserisce la chiave pubblica del server OpenSSH, accesso concesso e un guscio presentato all'utente. E 'importante notare che, anche se l'utente deve digitare una parola segreta momento del login, la password è associato con la chiave privata locale. Non l'account remoto. Anche se la chiave pubblica degli utenti è installato su 1.000 diversi server remoti, la stessa passphrase-chiave privata è richiesta per tutti loro. Questo semplifica notevolmente il compito di ricordare le credenziali di accesso e incoraggia la scelta di forti, quelle sicure. Disattivazione autenticazione della password su OpenSSH Una volta che gli utenti coppia di chiavi pubblica e privata vengono verificati corretta, la sua possibilità di disabilitare l'autenticazione password sul server Linux del tutto. Questo previene completamente tutti i possibili tentativi di password guessing e assicura in modo drammatico una macchina. Tuttavia, per le macchine non fisicamente locale, il suo saggio di rinviare sulla disattivazione password di autenticazione fino alla sua assolutamente chiaro che l'accesso a chiave funziona correttamente, soprattutto se più utenti sono coinvolti. Una volta che l'autenticazione tramite password è stata disabilitata, anche la password di root non permetterà uno nel sistema. Quelli nuovi a chiave di accesso del pubblico sono invitati a verificare con molta attenzione. La configurazione del demone SSH si trova nel file sshdconfig, spesso memorizzati nella directory etcssh. Si tratta di un file di testo che è relativamente facile da leggere anche essere alla ricerca di due voci per modificare. In primo luogo è quello di impostare PasswordAuthentication al valore no. Questo può essere impostata in modo esplicito sì. o può essere commentata a fare affidamento sul valore predefinito, ma desideriamo disabilitare esplicitamente questo: In secondo luogo, vogliamo disabilitare versione del protocollo SSH 1: questo è vecchio, ha diversi punti deboli della sicurezza sostanziali, e non deve essere consentito dal mondo esterno . Modificare il file di configurazione e assicurarsi che le due voci di parole chiave sono impostate correttamente commentare le vecchie voci, se necessario. Una volta che il file di configurazione è stato salvato, la Secure Shell daemon deve essere riavviato sulla maggior parte delle piattaforme di questo può essere fatto con il meccanismo di servizio: Questo uccide il demone di ascolto e lo riavvia, ma non termina le sessioni utente individuali esistenti. Coloro che si sentono questo potrebbe essere un passo rischioso sono invitati a riavviare semplicemente la macchina. A questo punto, OpenSSH non accetterà più le password di qualsiasi tipo, con accesso concesso solo per gli utenti con chiavi pubbliche prestabilite. L'attivazione di SSH agente di supporto Fino a questo punto, weve fornito un grande modo di sicurezza di accesso al sistema, ma la sua ancora non particolarmente conveniente: abbiamo ancora necessario digitare un (si spera) passphrase complessa ogni volta. Questo può diventare noioso quando un gran numero di sistemi sono coinvolti. Per fortuna, la suite SSH fornisce un meraviglioso meccanismo per sbloccare la chiave privata una volta, e permettendo singole connessioni ssh di spalle su di esso senza interrogare per la passphrase ogni volta. Avviare l'agente Individuare e lanciare il programma pageant. exe dalla stessa posizione degli altri file PuTTY-correlati, e si metterà nella barra di sistema (in basso a destra vicino all'orologio). Fare doppio clic sull'icona nella barra delle applicazioni, e lancia una finestra di dialogo con un elenco vuoto di chiavi. Fai clic su Aggiungi chiave e selezionare il file. ppk che contiene la chiave privata. Quando viene richiesto il passphrase, immetterla e fare clic su OK. Fare clic su Chiudi per chiudere l'agente. Ora, lanciare una delle sessioni SSH già configurati ad un host remoto pubkey-fissata: sarà interrogare l'agente per la chiave privata, lo scambio con il telecomando, e concedere l'accesso senza ulteriore intervento da parte dell'utente. Nota - il lettore attento potrebbe chiedersi quanto l'agente memorizza i dati, e se i programmi non attendibili sono in grado di ottenere questa chiave segreta di nascosto. non erano sicuri di come funziona, ma non weve mai sentito parlare di problemi di sicurezza reali su questo fronte. Bene aggiornare questo documento se si impara qualcosa. Precaricare la chiave privata La prima cosa che molti utenti PuTTY fanno durante l'accesso al sistema per il giorno è quello di lanciare l'agente e aggiungere la chiave privata. Questo è a pochi passi, ma siamo in grado di ottimizzare solo un po 'di più. Se lanciamo l'agente con il file di chiave privata come parametro, si carica automaticamente la chiave. Passare pageant. exe e fare clic destro per copiare questa icona. Incollare questo come un collegamento sul desktop, quindi fare clic destro e selezionare Proprietà. Immettere il percorso completo del file della chiave privata. ppk come parametro, quindi salvare le modifiche. Facendo doppio clic su questa icona verrà caricato il file di chiavi, chiedendo la passphrase. Una volta inserito, questo è l'ultima volta la sua richiesta finché l'agente resta nella zona. C'è molto poco non piace sul supporto agente SSH. Spedizioniere Ma weve non esauriti i benefici di sostegno dell'agente SSH. La sua una vittoria chiara per evitare di digitare la password ogni volta che una nuova connessione viene lanciato, ma SSH fornisce anche spedizioniere che può passare la credenziale giù per la connessione al server remoto. Questa credenziale può quindi essere passato a un altro server in cui è stato installato gli utenti a chiave pubblica, le password o la passphrase ovviando segreto per tutta la durata di una navigazione in rete. Utente lancia una connessione al server A: PuTTY sulla macchina locale ottiene la chiave privata dall'agente e fornisce al server remoto. Server remoto elabora i dati principali e le sovvenzioni pubbliche e private. L'utente viene dato un guscio sul sistema locale. L'utente cerca di connettersi a SystemB con ssh - A SystemB (-A consente spedizioniere), e si connette al server SSH lì. Sistema B chiede sistema A per gli utenti dei dati chiave privata e il server SSH sul sistema A in avanti sua volta questo ritorno alla workstation originale dove viene interrogato l'agente. L'agente locale passa i dati di back up della connessione, dove la sua inoltrato da SystemA a SystemB. SystemB riceve questa credenziale, e l'accesso è garantita dal confronto con la chiave pubblica memorizzata su quella macchina per quell'utente. Questo avviene automaticamente e rapidamente: ci vogliono non più di due o per l'intero scambio si verifichi un secondo, e questo invio può andare oltre piuttosto una lunga catena di connessioni SSH. Questo prevede trasparente, accesso sicuro ad una vasta gamma di sistemi remoti. Nota - Tutto questo richiede che l'utente dispone di un account su ogni macchina in questione, e che la chiave pubblica degli utenti sia installato correttamente su ciascuno di essi. SSH inoltro doesnt fornire qualsiasi accesso che non verrebbe concesso l'inoltro assente solo aggiunge un più comodo meccanismo per che cosa è già previsto. Abilitare l'inoltro in PuTTY attivazione di inoltro agente è fatto nelle finestre di dialogo di configurazione PuTTY molto come tutti gli altri, e solo una scatola aggiuntiva bisogno di essere controllato. Questa opzione richiede, ovviamente, l'uso di sfilata del sistema locale - senza un agente, non c'è niente di trasmettere. Se un collegamento chiave protetto da essere tentata con nessun agente presente, PuTTY semplicemente chiederà la passphrase in quanto ha tutto il tempo (e lo farà su ogni connessione). Abilitare l'inoltro sul server Nell'esempio precedente, abbiamo visto che l'utente ha digitato ssh host - A. ma il suo comune a fare uso spedizioniere l'impostazione predefinita per rimuovere la necessità di digitare il - A. La configurazione del server OpenSSH è trovato in sshdconfig. mentre la configurazione del client è in sshconfig (in genere nella directory etcssh). Il file può essere modificato e ForwardAgent impostazione impostata su yes: Questa impostazione non interessa il server, in modo da non richiede il riavvio o il funzionamento speciale per essa abbia effetto: la prossima connessione in uscita consentirà l'inoltro automatico. Questo cambiamento deve essere fatta solo una volta (e il suo default su alcuni sistemi). Copia dei file in modo sicuro con la configurazione di stucco, l'accesso a chiave pubblica, e il supporto agente (con forwarding), erano pronti a fare un passo oltre l'accesso shell e spostare i file. Secure Shell fornisce diversi metodi per la copia di file da una macchina all'altra, il tutto in collaborazione con le stesse chiavi e gli agenti. PSCP consente la riga di comando di copia di file da e verso un server SSH remoto e PSFTP fornisce un'interfaccia tipo FTP per il trasferimento di file conveniente. Bene discutere entrambi. PSFTP - un client FTP simile Il programma PSFTP può essere lanciato da riga di comando o da un collegamento sul desktop, e in entrambi i casi accetta sia un nome host o un nome di sessione salvata. Una volta lanciato, si connette al server di destinazione (tenendo pienamente vantaggio di chiavi pubbliche e l'agente locale, se del caso), e presenta una richiesta psftpgt: gli utenti regolari di client FTP da riga di comando troveranno questo familiare, anche se la sua non certo fino a la facilità d'uso come client GUI popolari. Il comando help può fornire qualche indicazione. PSCP - Secure Copy utenti nella riga di comando potrebbe desiderare di copiare direttamente i file, e questo è fatto con PSCP. il comando sicuro di copia. Proprio come la copia di file regolari sul file system locale, PSCP prende il nome di computer e la directory come origine o destinazione. PSCP può trasferire un file alla volta, o un set intero in una singola istanza. Curiosamente, non sia necessario fornire il nome della sessione salvata solo il nome host e il nome utente corrente (che di solito è preso automaticamente dall'ambiente Sembra che PSFTP e PSCP sia consultare l'elenco salvato sessione, trovare una corrispondenza appropriata, e quindi utilizzare le informazioni di accesso associato. Questo lo rende un liscio esperienza di trasferimento file. le preoccupazioni di sicurezza e i punti più delicati questo suggerimento Tech ha destinati a fornire un percorso veloce per l'impostazione un ambiente di Secure Shell dalla workstation al server, ma ha saltato molti dei punti più delicati. il punto di usare Secure Shell è la sicurezza, e mercoledì negligente se vi abbiamo mangiato tocco su alcuni di questi punti qui. Bene fanno la più ampia punto che si deve fare attenzione quando si lavora su un sistema non attendibile: quando si utilizzano le funzioni avanzate come il trasferimento di agente o chiavi private, si è alla mercé di un operatore di ostile keylogger kernel-based e binari binssh trojan sono solo alcuni dei tanti evidente. rischi quando si opera in quel tipo di ambiente. Qui ben toccano alcuni dei punti non ovvie e notare che in un ambiente affidabile e controllato, semplicemente dont sorgono questi problemi. Proteggere la chiave privata se la chiave pubblica è unica preoccupazione minore, la chiave privata deve essere protetto con forza. Chiunque può ottenere alla chiave privata decodificata (sia per l'apprendimento della passphrase, o brute-forzarla) ha la piena esecuzione di tutte le reti in cui è installata la chiave pubblica. Si consiglia vivamente di limitare drasticamente il numero di posizioni in cui sono la chiave privata. Si presume che le applicazioni esistenti che può richiedere un file-chiave privata e tentare di forza bruta la chiave, anche se weve non ancora imbattuto in uno. uso Agente richiede macchine di fiducia Ogni volta che un agente chiave SSH è presente, sia che si tratti sulla macchina locale, che avvia la connessione in uscita, o su macchine intermedie che li sta inoltrando, la sua tecnicamente possibile per intrusi su quelle macchine per ottenere l'accesso al canale protetto . In OpenSSH, un client ssh comunica con l'agente tramite un socket di dominio UNIX nella directory tmp (un file rappresentativo è tmpssh-DeB10132agent.10132), e la sua ristretta per l'utente locale. Ma superuser hanno anche accesso alla presa, e la sua relativamente semplice dirottare l'agente di connettersi allo stesso computer di destinazione. ResourcesLinux e Unix correlati comando sftp Chi sftp sftp sta per FTP sicuro. Si tratta di un programma a riga di comando per il trasferimento di file in modo sicuro tramite una connessione di rete. Si può già avere familiarità con FTP: la sua un metodo molto semplice, e molto insicuro per caricare o scaricare file tramite una connessione di rete. Esso non fornisce alcun tipo di protezione o crittografia nella sessione o nel trasferimento di dati. SFTP fornisce questa funzionalità. Pensate a come una versione cifrata del ftp. Nota: Se avete bisogno di trasferire i file tramite FTP anonimo, SFTP non è il programma da usare. Dato che tutte le connessioni SFTP sono crittografate, hanno bisogno di un nome utente e una password (o autenticazione a chiave pubblica). Così, per i trasferimenti FTP anonime, basta usare FTP normale. SFTP SFTP sintassi esegue tutte le operazioni su una sessione SSH crittografato. Esso utilizza molte delle caratteristiche di ssh. come ad esempio l'autenticazione a chiave pubblica e la compressione dei dati. Ci sono quattro modi di base per utilizzare SFTP. e la sintassi del comando per ciascun elencati qui. (Per ulteriori informazioni su ciascuna opzione e le sue possibili valori, vedere la sezione Opzioni. Di seguito). Il primo è una sessione interattiva. In questa modalità, sftp collega e accede al host specificato. poi entra nella sua modalità di comando interattivo, in cui si digita tutti i comandi al prompt. Per avviare una sessione interattiva di SFTP. utilizzare la seguente sintassi: Vedere Modalità interattiva per un esempio di utilizzo di SFTP in questo modo. È inoltre possibile utilizzare SFTP per recuperare automaticamente i file, senza alcuna interazione spinto: Vedere Modalità Automatica recupero per un esempio di utilizzo di SFTP in questo modo. Oppure si può dire SFTP per iniziare la sua sessione interattiva in una directory remota specifica: Infine, è possibile eseguire una sessione completamente automatizzato utilizzando l'opzione - b. La B sta per lotti mode. To utilizzare la modalità batch, è necessario configurare l'autenticazione non interattiva, come ad esempio l'autenticazione a chiave pubblica, in modo che non dovete inserire manualmente una password. La sintassi SFTP per questa modalità è il seguente: Per esempi di utilizzo di modalità batch, e una guida per la creazione di autenticazione a chiave pubblica, vedi modalità batch. Ecco una descrizione di ciascuna delle opzioni elencate nelle sintassi dei comandi elencati sopra. Specificare l'uso della versione del protocollo 1, che risale al 1997. Questa opzione garantisce la compatibilità con i server molto vecchi. Se non sei sicuro che ne avete bisogno, non si specifica questa opzione. Specificare l'uso della versione 2 del protocollo, che risale al 1997. Questa opzione garantisce la compatibilità con i server molto vecchi. Se non sei sicuro che ne avete bisogno, non si specifica questa opzione. comandi modalità interattiva sono case-insensitive, quindi non importa se li si scrive con lettere maiuscole o minuscole (o un mix di entrambi). I nomi dei file sono ancora tra maiuscole e minuscole, però. Tutti i nomi di file o directory che contengono spazi devono essere racchiusi tra virgolette, oppure il server li interpreteranno come nomi separati. Modalità automatica Recupero In questa modalità, è possibile specificare l'esatto percorso del file (oi file) che si desidera recuperare nel comando sftp stesso. Ad esempio, se si desidera ottenere il file documentsportfolio. zip dal files. myhost server remoto (dove il nome utente è mionome), è possibile utilizzare il comando: Quando si esegue questo comando, SFTP si connetterà al files. myhost. richiedere la tua password e una volta sei autenticato tenterà di scaricare il file documentsportfolio. zip. Dal momento che non abbiamo messo una barra all'inizio del nome della directory, cercherà i documenti nella vostra home directory sul server. Se trova portfolio. zip. sarà scaricarlo. L'output sarà simile a questa: e poi SFTP sarà semplicemente uscire. È inoltre possibile specificare un percorso per il file da scaricare. Per esempio, questo comando: scaricherà portfolio. zip nella directory tmp. In alternativa, è possibile specificare un nome completamente diverso per il file scaricato: e l'uscita sarà indicare il nuovo nome: È inoltre possibile specificare i caratteri jolly nel nome del file, per esempio: e SFTP scaricherà tutti i file con l'estensione. zip nei documenti a distanza directory. L'uscita elencherà ogni file su una riga, in questo modo: Avvio della modalità interattiva di una determinata directory remota A volte è più conveniente per avviare una sessione in modalità interattiva a destra da una directory remota specifica. È possibile farlo specificando sulla riga di comando: modalità batch E 'anche possibile eseguire SFTP in modo completamente script. Questo si chiama modalità batch. e consente di eseguire trasferimenti SFTP senza alcuna interazione alla tastiera. This is useful, for instance, if you want to set up a recurring transfer in a cron job, or a one-time scheduled transfer using the at command. However, because batch mode is completely non-interactive, it does not allow you to enter a username and password when connecting to the server. So, in order to use batch mode, youll have to log in automatically. The standard way to do this, and the most secure, is to use public key authentication . Lets go over that quickly. Setting Up Public Key Authentication Public Key Authentication allows you to log into a remote server securely without typing in your password. First, you generate two keys on your local system: a private key and a public key. Then you copy the text of your public key onto the remote server. After that, as long as you have the private key on your local machine, you can log into the remote machine without typing in a password. To do this, the first step is to generate the public and private keys. The keys will be located in the directory. ssh in your home directory on your local system. First, check to see if the. ssh directory already exists: This will either return the directory name: or tell you that it doesnt exist: If it doesnt exist, we need to create it before the next step: Next, we need to make sure this directory has the correct permissions. You want to ensure that youre the only person who can access this directory (read, write, and execute). For a directory, the octal value of this file mode is 700 . Lets change the permissions on our. ssh directory: Now we need to generate the keys themselves. The program used to generate key pairs for the ssh protocol is called ssh-keygen . Run it at the command line without any options: It will prompt you for the information it needs to generate the keys. Use all the default values (just press enter at every prompt). Note: One of the prompts will ask you for a passphrase, which offers an additional level of security on top of the encrypted private key. Here we will leave the password blank. If you want to use a password with your key, you should use a program called ssh-agent to load your key into memory this will allow you to use a password-protected key without having to type in the password more than once. The output from ssh-keygen will look something like this: Youll even get a neat piece of art representing your public key, which you can print out and hang on your wall, if you like. Your keys are now generated. There are two files, idrsa and idrsa. pub . We need to change the permissions on these files as well, so that no one but you can access them (read, write, and execute). The octal value of these permission bits is 700 . And make sure the directory has the same permission bits set: Now ssh to your server. Lets say its called myhost : Enter your password and log in. Once youre at your servers command prompt, check to see if the. ssh directory exists there. On the server: If it doesnt exist, create it, and give it the appropriate permissions, just like on your local system. On the server: Same for the authorizedkeys file. First check that it exists. On the server: If it doesnt, create it. You can use touch to create an empty file. On the server: Of course, if the directory and file exist already, you dont need to create them. Either way, once you know the. sshauthorizedkeys file exists, you can log out of the server: Which will return you to your local system command prompt. Now you need to place the contents of your local public key file (.sshidrsa. pub . which you created earlier with ssh-keygen ) into the file. sshauthorizedkeys on your server. The contents of this file are all in one very long line (no line breaks). You can look at it yourself with the cat command: and it will look something like this: This line of text needs to be placed into the authorizedkeys file on your server, on its own line. There are several ways to do this: you could copy the text on your local server, open the file using a text editor on the server, and paste it in on its own line. Or, you could use a program called ssh-copy-id . which is part of the default ssh installation on many systems. However, here we will append it directly to the file using ssh itself. If your remote username is myusername and your server name is myhost . you would run this command: This runs the cat command on your public key file, pipes the output to ssh . which takes that input and appends it directly to the authorizedkeys file on the remote machine. Now your public key is installed on the server, and you should be able to log in without a password, as well as conduct batch sftp sessions. Note: If the server is still asking you for your password when you try to log in, check that the servers ssh daemon configuration, located by default in etcsshsshdconfig . contains the following two lines: These are part of the default configuration, so you shouldnt need to add them, set them, or un-comment them in the configuration file. However, they are required for public key authentication. If its not working, this is the first place you should check. Executing The Batch sftp Session To run a batch sftp session, simply create a text file containing the sequence of sftp commands to be run on the server, with each command on its own line. For instance, if you want to automate the uploading of a set of files called image01.jpg . image02.jpg . into a directory on the remote server called images in your home directory, you could create a text file called mybatch. txt which contains the following commands: Then, you would execute the batch with the following command: and sftp will output the results of the commands, for example: After all commands have been executed (successfully or not), sftp will log out and return you to the command line. sftp examples This command attempts to initiate an interactive sftp session with the server myhost . The name used to log in will be the same as the username with which you ran the command. Once you are successfully logged in, you will see a message similar to the following, along with the sftpgt command prompt: Same as the above command, but attempts to log in with the username fred . Attempts to initiate an interactive sftp session with the server myhost . using the name fred to log in. Upon successful login, you will begin the session in the directory homefredimages . Attempts to download the file homefredimagespicture. jpg from the server myhost using the username fred to log in. If the file exists, it will be downloaded to the local working directory, and then sftp will exit. Attempts to execute the sftp commands in the text file batch. txt . on the server myhost . as the user named fred . The commands in the file batch. txt must be listed one per line. In order for the session to be initiated, the server and local client must be configured so that no keyboard input is required to log in see Setting Up Public Key Authentication above for more information. Interactive Command Examples The following examples may be run from the sftpgt prompt once an interactive session has been initiated. See Interactive Mode Commands above for a complete list of interactive commands and options. Prints the name of the remote working directory. Prints the name of the local working directory. List the contents of the remote working directory. List the contents of the local working directory. Changes the remote working directory to the subdirectory documents . Changes the local working directory to the subdirectory documents . Download the remote file mydocs. zip into the local working directory. Download the remote file mydocs. zip into the local directory homefred . If the directory homefred does not exist, sftp will attempt to download the file into the local directory home and name it fred . Note: sftp does not recognize the tilde shortcut for home directories ( ), so you will have to use the complete name of a home directory if youre specifying it in sftp . Download the remote file mydocs. zip into the local directory homefred . giving it the new name downloaded-docs. zip after it is downloaded. Create the directory documents in the remote working directory. Upload the local file documents. zip into the remote working directory. Upload the local file homefreddocumentsdocuments. zip into the remote directory homefreddocuments . renaming it mydoc. zip after it is uploaded. Uplooad all files in the local directory homefredimages whose name starts with image . and ends in the suffix. jpg . into the remote directory homefredimages . Rename the remote file homefredfile. txt . giving it the name newfile. txt . Delete the remote file homefrednewfile. txt . Run the command commandname option1 option2 on your local system without disconnecting from the sftp session. Disconnect from the sftp session, and quit sftp . Related commands ftp mdash Conduct an interactive FTP session over a secure network connection. slogin mdash Login to a remote system securely.
No comments:
Post a Comment