SSH è un vero toccasana quando devi gestire da remoto un computer, ma lo sapevi che puoi anche caricare e scaricare file? Usando le chiavi SSH, puoi saltare di dover inserire le password e usarlo per gli script!
Questo processo funziona su Linux e Mac OS, a condizione che siano configurati correttamente per l'accesso SSH. Se utilizzi Windows, puoi utilizzare Cygwin per ottenere funzionalità simili a Linux e, con un piccolo ritocco, verrà eseguito anche SSH.
La copia protetta è un comando davvero utile, ed è veramente facile da usare Il formato di base del comando è il seguente:
scp [opzioni] original_file destination_file
Il kicker più grande è come formattare la parte remota. Quando si indirizza un file remoto, è necessario farlo nel modo seguente:
utente @ server: percorso / su / file
Il server può essere un URL o un indirizzo IP. Questo è seguito da due punti, quindi il percorso del file o della cartella in questione. Diamo un'occhiata a un esempio.
scp -P 40050 Desktop / url.txt [email protected]: ~ / Desktop / url.txt
Questo comando presenta il flag [-P] (notare che è una maiuscola P ). Questo mi consente di specificare un numero di porta invece del valore predefinito 22. Ciò è necessario per me a causa del modo in cui ho configurato il mio sistema.
Successivamente, il mio file originale è "url.txt" che si trova all'interno di una directory chiamato "Desktop". Il file di destinazione si trova in "~ / Desktop / url.txt", che è lo stesso di "/user/yatri/Desktop/url.txt". Questo comando viene eseguito dall'utente "yatri" sul computer remoto "192.168.1.50".
Che cosa succede se è necessario fare l'opposto? È possibile copiare file da un server remoto in modo simile.
Qui, ho copiato un file dalla cartella "~ / Desktop /" del computer remoto alla cartella "Desktop" del mio computer.
Per copiare intere directory, si ' Dovrai usare il flag [-r] (nota che è una r minuscola).
Puoi anche combinare i flag. Invece di
scp -P -r ...
Puoi solo fare
scp -Pr ...
La parte più difficile qui è che il completamento delle schede non sempre funziona, quindi è utile avere un altro terminale con una sessione SSH in esecuzione in modo da sapere dove mettere le cose.
La copia protetta è ottima. Puoi metterlo negli script e farlo fare backup su computer remoti. Il problema è che potresti non essere sempre in giro per inserire la password. E, siamo onesti, è davvero una grande pena inserire la tua password su un computer remoto a cui hai ovviamente accesso in qualsiasi momento.
Bene, possiamo aggirare usando le password usando i file chiave. Possiamo far sì che il computer generi due file chiave: un pubblico che appartiene al server remoto e un privato che è sul tuo computer e deve essere protetto, e questi saranno usati al posto di una password. Piuttosto conveniente, vero?
Sul tuo computer, inserisci il seguente comando:
ssh-keygen -t rsa
Questo genererà le due chiavi e le inserirà:
~ / .ssh /
con i nomi "id_rsa" per la tua chiave privata e "id_rsa.pub" per la tua chiave pubblica.
Dopo aver inserito il comando, ti verrà chiesto dove salvare la chiave. Puoi premere Invio per utilizzare i valori predefiniti sopra indicati.
Successivamente, ti verrà chiesto di inserire una passphrase. Premi Invio per lasciare questo spazio vuoto, quindi fallo di nuovo quando chiede conferma. Il prossimo passo è copiare il file della chiave pubblica sul tuo computer remoto. È possibile utilizzare scp per fare ciò:
La destinazione della propria chiave pubblica si trova sul server remoto, nel seguente file:
~ / .ssh / authorized_keys2
Le chiavi pubbliche successive possono essere aggiunte a questo file, molto simile al file ~ / .ssh / known_hosts. Ciò significa che se si desidera aggiungere un'altra chiave pubblica per il proprio account su questo server, si copierà il contenuto del secondo file id_rsa.pub in una nuova riga sul file authorized_keys2 esistente.
Isn ' t questo meno sicuro di una password?
In senso pratico, non proprio. La chiave privata che viene generata viene archiviata sul computer che stai utilizzando e non viene mai trasferita, nemmeno da verificare. Questa chiave privata si adatta SOLO a quella chiave pubblica ONE e la connessione deve essere avviata dal computer con la chiave privata. RSA è abbastanza sicuro e utilizza una lunghezza di 2048 bit per impostazione predefinita.
In teoria è praticamente simile all'utilizzo della tua password. Se qualcuno conosce la tua password, la tua sicurezza va fuori dalla finestra. Se qualcuno ha il tuo file di chiave privata, la sicurezza viene persa su qualsiasi computer che abbia la chiave pubblica corrispondente, ma è necessario accedere al tuo computer per ottenerlo.
Può essere più sicuro?
Puoi combinare una password con i file chiave. Segui i passaggi precedenti, ma inserisci una passphrase forte. Ora, quando ti connetti su SSH o usi SCP, avrai bisogno del file di chiave privata appropriato e di la frase di accesso corretta.
Una volta inserita la passphrase una volta, non ti verrà chiesto di nuovo per questo fino a quando non si chiude la sessione. Ciò significa che la prima volta che si esegue SSH / SCP, è necessario inserire la password, ma tutte le azioni successive non lo richiedono. Una volta usciti dal computer (non da quello remoto) o chiuso la finestra del terminale, sarà necessario inserirla di nuovo. In questo modo, non stai davvero sacrificando la sicurezza, ma non sei nemmeno molestato per le password in ogni momento.
Posso riutilizzare la coppia di chiavi pubblica / privata?
Questa è una pessima idea. Se qualcuno trova la tua password e usi la stessa password per tutti i tuoi account, ora hanno accesso a tutti questi account. Allo stesso modo, il tuo file di chiavi private è anche super-segreto e importante. (Per ulteriori informazioni, dare un'occhiata a Come recuperare dopo la compromissione della password di posta elettronica)
È meglio creare nuove coppie di chiavi per ogni computer e account che si desidera collegare. In questo modo, se una delle tue chiavi private viene catturata in qualche modo, comprometterebbe un solo account su un computer remoto.
È anche molto importante notare che tutte le tue chiavi private sono memorizzate nello stesso posto: in ~ /.ssh/ sul tuo computer, puoi usare TrueCrypt per creare un contenitore sicuro e crittografato, quindi creare collegamenti simbolici nella tua directory ~ / .ssh /. A seconda di quello che sto facendo, uso questo metodo super-paranoico super-sicuro per mettere la mente a mio agio. Hai usato SCP in qualche script? Usi i file chiave invece delle password? Condividi la tua esperienza con altri lettori nei commenti!
Come ordinare le cartelle del Mac in cima ai file (stile Windows)
Passare a un nuovo sistema operativo e ci sono tutti i tipi di piccole differenze per abituarsi. Il modo in cui macOS ordina cartelle e file è una di quelle cose per la migrazione degli utenti di Windows. Entrambi i sistemi operativi ordinano i file alfabeticamente, con una differenza chiave: Windows mette le cartelle in cima all'elenco, quindi mostra i file, mentre macOS mescola i file e cartelle insieme in ordine alfabetico.
Come rimuovere i programmi dal menu contestuale "Apri con" in Windows
Se il menu contestuale "Apri con" è un po 'ingombrante, perché non eliminare le voci che si indossano usare? Con un po 'di hacking del Registro, è facile da fare. Il menu "Apri con" è una funzionalità innegabilmente utile quando apri file con più programmi. Ogni volta che apri un file con un particolare programma, quel programma viene aggiunto al menu di scelta rapida "Apri con" per quel tipo di file.