Você já mencionou ssh, vim e wget, o que é essencial e perfeito. Algumas ferramentas adicionais que podem facilitar a vida:
1. Tela GNU / byobu
"O GNU Screen é um multiplexador de terminal gratuito que permite ao usuário acessar várias sessões de terminal separadas dentro de uma única janela de terminal ou sessão de terminal remoto. É útil para lidar com vários programas da linha de comando e para separar programas do shell iniciado. o programa." (Na página GNU_Screen da wikipedia)
Uma vantagem principal é que você pode ter um ou vários terminais virtuais que estão exatamente no mesmo estado em que você os deixou quando voltar (ou seja, faça logon novamente via ssh). Isso também é bom quando a conexão é interrompida por algum motivo.
A tela funciona independentemente do software que você usa para conectar-se à caixa (fica no servidor), portanto combina bem com a massa ou com a maioria dos outros softwares de terminal.
Este artigo mostra algumas coisas legais que você pode fazer com ele: http://www.pastacode.de/extending-gnu-screen-adding-a-taskbar/en/
Uma boa alternativa é o byobu, que vem bem pré-configurado em algumas distribuições: http://byobu.co/
2. Comandante da meia-noite
Uma ferramenta de navegação gráfica, baseada em console, para visualização e manipulação de arquivos e diretórios.
Também pode fazer transferências remotas seguras. Existe um cliente FISH e FTP incorporado.
Isso significa que você tem duas janelas de texto lado a lado em um console de linha de comando e uma mostra sua caixa remota e a outra onde quer que você a conecte (que também pode ser seu sistema local). Depois, você pode navegar pelos dois sistemas de arquivos lado a lado e marque ou investigue arquivos individuais ou árvores de arquivos e também copie ou mova-os entre locais. O FISH é seguro, o FTP não. Muito poderoso e simples para iniciantes.
3. rsync
Para transferência e sincronização rápida, segura e confiável de arquivos entre diferentes locais
4. VCS
Uso de um sistema de controle de versão distribuído como bazar, mercurial ou git para atualizar o código. O Github ou o Bitbucket oferecem hospedagem de código comercial, mas não é necessário, você também pode usá-lo com eficiência em suas próprias máquinas.
Joseph Kern: você pode elaborar como exatamente usa o git para organização de configuração remota?
5. Clientes terminais
Nos sistemas unix, eles já estão integrados; no Windows, você pode usar Putty, Tera Term, Mind Term ou Pandora. Ou faça uma instalação do cygwin e o ssh das janelas do cygwin terminel para as caixas remotas (o que tem mais vantagens, mas essa é uma questão do que você prefere).
6. Encaminhamento de túnel e porta
Pode ser útil encaminhar determinadas portas com segurança para a sua máquina local. Por exemplo, você pode encaminhar a porta mysql TCP 3306 ou o postgres TCP 5432 e instalar alguma ferramenta de administração de banco de dados localmente.
Você pode construir túneis a partir de máquinas Windwos com massa de vidraceiro (ou linha de comando baseada em seu irmãozinho), com o cygwin e o Mindterm também podem encaminhar portas. Se você estiver localmente em uma máquina tipo Unix, poderá usar o ssh odr plink para criar esse tunelamento.
Para criar um tunelamento mais estável e permanente para várias portas, recomendo o OpenVPN. O método de encapsulamento "chave pré-compartilhada" de um ponto a outro não é tão difícil de instalar.
7. Possui um sistema local semelhante ao unix
Quando a sua máquina local é um Mac, você já tem isso, pode abrir um shell local. Quando sua estação de trabalho é baseada em janelas, pode ser útil criar um servidor local semelhante ao unix, que esteja na mesma rede local. Pode ser uma máquina diferente em uma sala diferente conectada ao mesmo roteador ou switch. Ou, se você quiser apenas uma máquina, poderá instalar o servidor vmware gratuito e criar uma máquina virtual, de preferência o mesmo sistema operacional da sua máquina remota. Instale um servidor samba nele e você poderá "usar na rede" os compartilhamentos samba na sua área de trabalho.
Se você é um servidor ssh no servidor local e abre a porta 22 no seu roteador, pode fazer o ssh no sistema local quando estiver fora.
Você pode construir túneis para máquinas remotas ou transferir e sincronizar arquivos e árvores de arquivos inteiros com o rsync. Você pode usá-lo para testar, no VSC, o desenvolvimento local, como servidor da web local, para fins de treinamento.
Você pode obter backups de máquinas remotas. Você pode criar tarefas cron locais que fazem backups automaticamente (por exemplo, bancos de dados que você deseja salvar localmente regularmente)
8. GUI remota X
Se você trabalha no Linux como um sistema fisicamente, também é possível executar aplicativos da GUI em seus servidores Linux que desenham a GUI na sua máquina local. Pode ser uma ferramenta de comparação de arquivos gráficos ou quase qualquer coisa que você desejar.
Embora não seja muito comum e, em alguns casos, não seja necessário usar o software da GUI para a administração de Linux, você pode, em alguns casos, achar útil se puder.
Na máquina remota, verifique em / etc / ssh / sshd_config que esta linha existe:
X11Forwarding Yes
Reinicie o servidor ssh com
/etc/init.d/sshd restart
Da próxima vez que você fizer login com
ssh -X me@remote-box
Você terá um túnel X, tentará instalar o xclock no servidor remoto para fins de teste e executar xclock
na sessão ssh que acabei de mencionar. Um simples relógio x para fins de teste deve aparecer na sua GUI do Linux.
Isso também é possível no Mac se você instalar um ambiente X local.
9. Se você tiver várias caixas ou tarefas semelhantes: use uma ferramenta de configuração do sistema
Se você possui um farm de servidores ou faz grandes implantações na nuvem com muitas máquinas redundantes ou iguais ou similares, você pode usá-lo.
Provavelmente, não faria sentido se a maioria das caixas fosse individual ou tivesse diferentes sistemas operacionais ou versões diferentes em execução.
Existem várias ferramentas:
10. Implante contêineres de aplicativos com docker
Isso vai ainda mais um passo. O Docker é um projeto de código aberto que automatiza a implantação de aplicativos dentro de contêineres de software: https://www.docker.io
11. Use o Google Compute Engine com gerenciamento automático de implantação
https://cloud.google.com/products/compute-engine/
O Google oferece VMs Linux com possibilidades muito interessantes. Você pode implantar rapidamente grandes clusters de máquinas virtuais com ferramentas, incluindo uma API RESTful, interface de linha de comando e console baseado na Web. Você também pode usar ferramentas como RightScale e Scalr para gerenciar automaticamente sua implantação .