Múltiplos comandos de comando com uma conexão SSH?

4

Eu tenho uma necessidade de fazer muito em vim em um servidor remoto que eu preciso para o SSH. Eu acho que é melhor se eu posso olhar para vários documentos em várias janelas na minha área de trabalho, para fazer isso eu abro duas ou três sessões SSH para o servidor remoto. Isso está ficando um pouco tedioso, já que tenho que reentrar no un / pw várias vezes, e tenho que ter certeza de que cada janela permaneça ativa o suficiente para impedir o logoff automático.

Existe um caminho para o SSH em uma vez e, em seguida, é usado com diferentes janelas de terminal? (Eu uso o OSX e Ubuntu predominantemente).

    
por cwallenpoole 10.12.2011 / 20:45

7 respostas

5

O Screen e o tmux oferecem-lhe as respostas que procura, mas para expandir um pouco a sua questão, gostaria de sugerir que analise a questão da autenticação baseada em chaves SSH para que não necessite do nome de utilizador e senha toda vez que você SSH em seu servidor remoto: -)

    
por 11.12.2011 / 01:03
3

Uma outra alternativa possível é usar o sshfs.

O sshfs permite montar remotamente qualquer diretório acessível em uma máquina remota através do ssh, como um volume na sua máquina. Funciona bem. O benefício aqui é que você pode trabalhar com todos os arquivos na máquina remota como se fossem locais. No geral, será mais fácil de usar do que a tela - você faz o login uma vez, então qualquer outra coisa que você fizer com os arquivos remotos será como se você estivesse trabalhando com arquivos locais.

Sua outra alternativa é apenas usar a capacidade do vim para editar arquivos remotos através do ssh. Veja aqui: link

    
por 11.12.2011 / 01:27
2

Não é exatamente o que você pediu, mas o utilitário da GNU permite que você tenha vários recursos virtuais. terminais em uma única janela. Ele também protege contra a interrupção da conexão, porque você pode se reconectar a uma sessão de tela desconectada.

    
por 10.12.2011 / 20:57
2

tmux também é uma opção (semelhante a GNU screen ). Sua base de código é menor e mais limpa, suporta painéis lado-a-lado, sem bagunça extra, e na minha opinião é muito mais agradável de usar. Tela é muito mais comum, então vale a pena aprender a usar de qualquer maneira.

Para usar tmux , basta instalá-lo na máquina em que você deseja SSH. Então SSH em, execute tmux, e agora você pode executar vários terminais ou aplicativos de console na mesma tela ou em diferentes 'janelas' (análogas às áreas de trabalho do Ubuntu) no mesmo terminal. Experimente man tmux para os controles.

    
por 11.12.2011 / 00:35
0

E outra opção é o plug-in netrw integrado do vim para abrir arquivos remotos. Funciona muito bem com o plugin do projeto.

Mas, para poder trabalhar com qualquer coisa sobre o ssh, a primeira coisa que faço é registrar minha chave ssh: ssh-copy-id user@host para registrar a chave com o host e verificar ssh-agent está em execução e adicionar a chave usada com ssh-add .

Costumo fazer coisas como:

diffsplit scp://user@$REMOTE/path/to/dir/%

que difere o arquivo no $REMOTE host em ~user/path/to/dir com o mesmo nome relativo do arquivo aberto atual. Eu amo vim, embora eu tenha certeza que é possível no emacs também.

    
por 12.12.2011 / 11:45
0

Você pode executar várias sessões SSH em uma única conexão SSH, fazendo o primeiro login (que configura a conexão) um mestre de controle e tendo chamadas subsequentes do SSH em contato com o mestre de controle e ter sua sessão encaminhada pela conexão já autenticada do mestre .

Faça isso com o seguinte no seu arquivo de configuração:

Host somehost
    # ~/tmp/sc must exist beforehand and should have mode 0700.
    ControlPath ~/tmp/sc/%h.%p
    ControlMaster auto

Veja o ssh_config(5) manpage para mais detalhes sobre como isso funciona.

    
por 22.04.2017 / 16:03
0

Só porque ninguém o mencionou ainda ... Se a sua conexão for rápida o suficiente, você poderia olhar para o X forwarding via SSH - use o argumento -X para ssh (1) .

Eu uso isso diariamente, usando MobaXterm (ou no passado Xming ) em um PC com Windows, para acessar uma máquina de desenvolvimento Linux local - embora principalmente para janelas xterm simples.

    
por 22.04.2017 / 16:28