Editar-texto-arquivos-sobre-SSH usando um editor de texto local

5

Estou trabalhando em vários ambientes Linux e UNIX.

Gostaria de resolver com elegância o problema de editar arquivos de configuração remotos através do SSH. Em vez de usar editores de terminal (nano), gostaria de abrir o arquivo em um editor de texto local na minha área de trabalho (Sublime Text 2).

O CyberDuck, o WinSCP e vários outros aplicativos SFTP podem fazer isso.

O uso de editores sobre o encaminhamento do X11 também se mostrou problemático. Também usar editores de texto arcaicos como o Vim ou o Emacs não atende bem minhas necessidades. Eles poderiam fazer isso, mas eu prefiro usar outro software de edição de texto.

O uso de montagens ssh (FUSE) também é problemático, a menos que elas possam acontecer na demanda e disparadas pelo site remoto.

Então, o que espero alcançar

  • Possua algum tipo de script de shell facilmente implantável, etc., que eu possa copiar para o servidor remoto (vamos chamá-lo de mooedit)

  • Eu corro o comando mooedit no servidor remoto do qual me conectei por conexão SSH

  • mooedit envia algum tipo de sinal (por SSH (para o meu desktop local

  • Na minha área de trabalho local, esse sinal é capturado e determina 'a ha! moo quer editar um arquivo no servidor X na pasta Y '

  • O arquivo é transferido por SFTP para a área de trabalho local (/ tmp)

  • O arquivo é aberto em um editor de texto de GUI agradável na área de trabalho local

  • Quando o botão Salvar é pressionado, a área de trabalho local percebe alterações no arquivo e o SFTP envia o arquivo resultante de volta ao servidor

A questão é:

  • Quais mecanismos de sinalização o SSH oferece para isso?

  • Quaisquer outros métodos para acionar um editor de texto local para arquivo SSH remoto?

por Mikko Ohtamaa 27.09.2011 / 09:14

3 respostas

3

Você pode usar rsub e rmate para editar arquivos remotos no seu Sublime Text local sobre ssh.

Você precisa

  • instale o pacote rsub no Sublime Text (com o Gerenciador de Pacotes)
  • encaminhar porta 52698 via ssh, usar ssh -R 52698:localhost:52698 ... ou definir sua configuração

    • crie / edite ~/.ssh/config e chmod 600 ~/.ssh/config (para evitar um problema de permissões)
    • add (substitua SERVERNAME pelo seu servidor, você também pode usar * ):
Host SERVERNAME
  RemoteForward 52698 127.0.0.1:52698
  • conecte-se ao seu servidor com ssh
  • instale o script rsub na máquina remota:
sudo wget -O /usr/local/bin/rsub https://raw.github.com/aurora/rmate/master/rmate
sudo chmod +x /usr/local/bin/rsub

Então você pode fazer rsub file na sessão ssh e abrirá file em seu editor ST local.

Funciona com ST2 / ST3 e você também pode sudo rsub file !

    
por 23.03.2015 / 13:40
1

Esta é uma pergunta antiga, mas sem uma resposta clara ainda. No entanto, você não menciona de qual ambiente desktop você deseja editar de ? Em um ponto você menciona o WinSCP; claramente Windows, por outro lado Cyberduck é um programa Mac.

Supondo que você trabalhe em um Mac; o venerável BBEdit, apesar de não ser tão "sexy" quanto Sublime e antes do TextMate, ainda tem algumas características na manga que os outros editores não têm.

Como abrir e gravar arquivos diretamente de e para servidores ssh e ftp, de dentro do programa. Eu usei essa funcionalidade desde a versão 5 ou mais, que é agora 13 anos atrás. Várias vidas atrás e ainda não disponíveis em editores "modernos".

link (não afiliado de alguma forma, apenas um usuário feliz desde 1993

    
por 24.03.2013 / 22:52
0

I'd like to elegantly solve the problem of editing remote configuration files … Any other methods to trigger a local text editor for remote SSH file?

Use algo como webmin . Um módulo existente ou cria um para seus propósitos.

Atualização:

É possível fazer com que o Apache ofereça uma página HTTPS (por meio de um script de back-end) que mostre o arquivo de texto em uma área de texto e use ( É todo o texto para iniciar qualquer editor de texto local. Isso obviamente requer alguns cuidados em relação à segurança.

    
por 27.09.2011 / 11:21