Hai già citato ssh, vim e wget che è essenziale e perfetto. Alcuni strumenti aggiuntivi che possono semplificare la vita:
1. Schermo GNU / byobu
"GNU Screen è un multiplexer terminale gratuito che consente all'utente di accedere a più sessioni di terminale separate all'interno di una singola finestra di terminale o sessione di terminale remoto. È utile per gestire più programmi dalla riga di comando e per separare i programmi dalla shell avviata il programma." (Dalla pagina GNU_Screen su wikipedia)
Un vantaggio principale è che puoi avere uno o più terminali virtuali che si trovano esattamente nello stesso stato in cui li hai lasciati quando torni (ad es. Riaccedere tramite ssh). Questo è utile anche quando la connessione viene interrotta per qualche motivo.
Lo schermo funziona in modo indipendente dal software utilizzato per connettersi al box (vive sul server), quindi si combina bene con lo stucco o con la maggior parte degli altri software terminali.
Questo articolo mostra alcune cose interessanti che puoi fare con esso: http://www.pastacode.de/extending-gnu-screen-adding-a-taskbar/en/
Una buona alternativa è Byobu, che è ben preconfigurato su alcune distribuzioni: http://byobu.co/
2. Comandante di mezzanotte
Uno strumento di navigazione di tipo grafico basato su console per la visualizzazione e la manipolazione di file e directory.
Può anche effettuare trasferimenti remoti sicuri. C'è un client FISH e FTP integrato.
Ciò significa che hai 2 finestre di testo affiancate in una console della riga di comando e una mostra la tua casella remota e l'altra ovunque la colleghi (che può anche essere il tuo sistema locale) Quindi puoi navigare entrambi i file system fianco a fianco e contrassegnare o esaminare singoli file o file treeees e anche copiarli o spostarli tra le posizioni. FISH è sicuro, FTP no. Molto potente e semplice per i principianti.
3. rsync
Per un trasferimento e una sincronizzazione dei file rapidi, sicuri e affidabili tra diverse posizioni
4. VCS
Uso di un sistema di controllo di versione distribuito come bazaar, mercurial o git per aggiornare il codice. Github o Bitbucket offrono hosting di codice commerciale, ma non è necessario, puoi anche usarlo in modo efficiente sui tuoi computer.
Joseph Kern: puoi elaborare come usare esattamente git per l'organizzazione di configurazione remota?
5. Client terminal
Su sistemi unix-like sono già integrati, su Windows puoi usare Putty, Tera Term, Mind Term o Pandora. Oppure fai un'installazione cygwin e ssh dalle finestre terminel cygwin alle scatole remote (che ha più vantaggi ma questa è una domanda su cosa preferisci).
6. Tunneling e port forwarding
Può essere utile inoltrare determinate porte in modo sicuro al tuo computer locale. Ad esempio, è possibile inoltrare la porta mysql TCP 3306 o postgres TCP 5432 e installare alcuni strumenti di amministrazione del database localmente.
Puoi costruire tunnel da macchine Windwos con stucco (o riga di comando basata sul plink del suo fratellino), con cygwin e Mindterm puoi anche fare il port forwarding. Se ti trovi localmente su una macchina simile a unix, puoi utilizzare ssh odr plink per creare tale tunneling.
Per creare un tunneling più stabile e permanente per varie porte, consiglio OpenVPN. Il metodo di tunneling "chiave pre-condivisa" da un punto all'altro non è così difficile da installare.
7. Avere un sistema simile a unix locale
Quando il tuo computer locale è già un Mac, puoi aprire una shell locale. Quando la workstation è basata su Windows potrebbe essere utile creare un server unix-like locale, che si trova nella stessa rete locale. Può trattarsi di una macchina diversa in una stanza diversa collegata allo stesso router o switch. Oppure, se si desidera una sola macchina, è possibile installare il server vmware gratuito e creare una macchina virtuale, preferibilmente lo stesso sistema operativo della macchina remota. Installa un server samba su di esso e puoi "utilizzare in rete" le condivisioni samba dal tuo desktop.
Se si è un server SSH sul server locale e si apre la porta 22 sul proprio router, è possibile accedere al proprio sistema locale quando si è all'esterno.
È possibile creare tunnel su macchine remote o trasferire e sincronizzare file e interi alberi di file con rsync. È possibile utilizzarlo per i test, per VSC, per lo sviluppo locale, come server Web locale, a scopo di formazione.
È possibile estrarre i backup da macchine remote. È possibile creare processi cron locali che eseguono backup automatici (ad es. Database che si desidera salvare regolarmente in locale)
8. X GUI remota
Se stai lavorando su Linux come il sistema fisicamente, è anche possibile eseguire applicazioni GUI sui tuoi server Linux che disegnano la GUI sul tuo computer locale. Questo potrebbe essere uno strumento di confronto di file grafici o quasi tutto quello che vuoi.
Anche se non è molto comune e in alcuni casi non è necessario utilizzare il software gui per l'amministrazione di Linux Box, in alcuni casi potrebbe essere utile se possibile.
Sul computer remoto assicurarsi che in / etc / ssh / sshd_config esista questa riga:
X11Forwarding Yes
Riavvia il server ssh con
/etc/init.d/sshd restart
Quindi la prossima volta che accedi con
ssh -X me@remote-box
Avrai un tunnel X, prova a installare xclock sul server remoto a scopo di test ed esegui xclock
nella sessione ssh che ho appena menzionato. Un semplice x clock per scopi di prova dovrebbe apparire sulla tua GUI di Linux.
Questo è anche possibile su un Mac se si installa un ambiente X locale.
9. Se hai un sacco di caselle o attività simili: usa uno strumento di configurazione del sistema
Se si dispone di una server farm o si eseguono implementazioni su cloud di grandi dimensioni con molte macchine ridondanti o altrimenti uguali o simili, è possibile utilizzare questo.
Probabilmente non avrebbe senso, se la maggior parte dei box sono singoli o hanno sistemi operativi diversi o versioni diverse in esecuzione.
Esistono diversi strumenti:
10. Distribuire i contenitori dell'applicazione con docker
Questo va anche oltre. Docker è un progetto open source che automatizza la distribuzione di applicazioni all'interno di contenitori software: https://www.docker.io
11. Utilizza Google Compute Engine con la gestione automatica della distribuzione
https://cloud.google.com/products/compute-engine/
Google offre macchine virtuali Linux con possibilità molto interessanti. È possibile distribuire rapidamente grandi cluster di macchine virtuali con strumenti tra cui un'API RESTful, un'interfaccia della riga di comando e una console basata sul Web. È inoltre possibile utilizzare strumenti come RightScale e Scalr per gestire automaticamente la distribuzione .