Editando arquivos no servidor por meio do SSH

3

Estou trabalhando em um aplicativo da web e todos os seus arquivos estão em um servidor linux, que estou acessando através do SSH. Existe uma maneira de editar esses arquivos em um editor de texto diferente de vim ou nano através de SSH, porque há uma equipe inteira de nós que tem que trabalhar neste projeto (front-end, gerenciamento de banco de dados, etc.) e preferimos trabalhar enquanto está no servidor. Estou falando sobre a edição de arquivos via SSH em editores de texto ao longo da linha de texto sublimado ou Atom.

    
por Reaper9806 22.03.2016 / 18:45

7 respostas

3

ssh no servidor e execute os seguintes comandos para instalar o atom:

sudo apt-get update
sudo apt-get install gdebi xauth
wget https://atom.io/download/deb
mv deb atom.deb
sudo gdebi atom.deb
rm atom.deb

Após a instalação, saia da sessão ssh .

Em seguida, você pode encaminhar um xsession sobre o ssh usando a opção -X da seguinte forma:

ssh -X username@serverip atom

substituindo username e serverip pelo nome de usuário real e servidor real ip, é claro.

Aqui estão algumas postagens relacionadas:

como visualizar -graphical-view-of-application-using-ssh

como-encaminhar-x-over -ssh-from-ubuntu-machine

Além disso, aqui está um artigo relacionado.

    
por mchid 22.03.2016 / 19:43
3

Se você já tem a capacidade de ssh para esse host remoto, em seguida, sobre o problema local da máquina Ubuntu

sudo apt-get install sshfs

mkdir ~/local_mountpointdir  # create empty local live mirror of remote dir

sshfs remoteuserid@remotehost:/path/remote_dir  ~/local_mountpointdir

Você está livre para usar qualquer editor local para fazer edições ao vivo em qualquer arquivo existente no diretório remoto /path/remote_dir editando o mesmo nome de arquivo encontrado em seu novo diretório espelho local ... ainda no problema da máquina local

cd  ~/local_mountpointdir
ls -la   # you will see all files listed which live on remote host

Agora é só editar qualquer arquivo em ~/local_mountpointdir que viverá a sincronização automática em tempo real de todas as edições até o diretório do host remoto ... quando terminar, basta matar a caixa local pid rodando o sshfs, ponto em que a conexão desaparecerá o conteúdo de ~/local_mountpointdir sabendo que eles estão seguros no host remoto

    
por Scott Stensland 21.10.2017 / 00:41
2

Você também pode usar o emacs. Tem uma ampla gama de recursos e um modo NoX

emacs -nw <filename>

Embora a questão ainda seja, quais funções você está procurando?

    
por Jim Knopf 22.03.2016 / 21:24
1

O gEdit pode fazer o que você quiser. Você pode configurar seu sistema para se conectar a um servidor remoto através do Nautilus (arquivos, conectar ao servidor). Você pode então usar o painel esquerdo (F9) no gEdit para navegar até este servidor remoto e começar a editar.

Eu uso Aptana para coisas desse tipo. Tem um método "ftp remoto" onde você cria uma conexão, aponta para um diretório e lista todos os arquivos para que você possa editá-los. Para html, js e outras linguagens de codificação, um IDE como o Aptana possui formatação de código. Ah, e não descarte o vim tão facilmente;) Eclipse, Bluefish, Anjuta, Geany são alguns outros EDI, mas eu não verifiquei tudo para o acesso remoto;)

Você pode precisar alterar as permissões nos arquivos que deseja editar no lado do servidor.

    
por Rinzwind 22.03.2016 / 19:26
0

Se você iniciar sua sessão ssh com a opção -X , poderá usar qualquer editor instalado, man -k editor | less para ver o que seu sistema tem. A opção -X irá configurar o envio do X11 de volta para você. Veja man ssh .

Quais recursos do "Sublime Text ou Atom" você está procurando?

    
por waltinator 22.03.2016 / 19:25
0

Concordo com o que algumas pessoas mencionaram sobre o encaminhamento de aplicativos GUI por SSH. Eu costumo fazer isso com algumas coisas que corremos, e. No nosso servidor IBM TSM. Eu nunca usei os editores que você mencionou, mas acho que encaminhá-lo para o X é o caminho a percorrer se você quiser usar o SSH.

    
O
por sark 22.03.2016 / 21:52
0

Eu sei o que você quer dizer. O Vim é uma ferramenta muito poderosa, mas quase ninguém "sabe" como usá-lo.

Na verdade eu prefiro o mcedit (o editor empacotado com o mc - Midnight Commander) que eu costumo instalar para conexões SSH de qualquer maneira.

Se você quiser usar um editor gráfico, pode instalar um servidor X para compartilhar a GUI sobre SSH, como sugerem algumas outras respostas. Mas o IMO é um exagero e um monte de coisas extras no seu servidor. Eu preferiria sugerir que você compartilhasse as pastas que contêm as páginas a serem trabalhadas, preferencialmente sobre o NFS, já que seria o mínimo de instalações extras, ou mesmo apenas o WebDAV, já que seu servidor já está executando um daemon de serviço da web. Embora, se os computadores clientes estiverem executando o Windows, você precisará do samba, apenas garanta que NUNCA permita que o Samba compartilhe fora da sua LAN local - [sarcasm = on] não é a coisa mais segura a se fazer [/ sarcasmo].

Se você precisar de acesso total a todas as pastas no servidor, sugiro SFTP sobre sua conexão SSH. Ele também já está no seu servidor, já que você já tem o SSH instalado - nenhuma instalação extra necessária no seu servidor, o que é uma grande vantagem. É até mesmo possível montar um SFTP como uma "unidade" de rede, pelo menos nativamente em todos os Linuxes (como uma resposta sugere através de sshfs). Para o Windows, é necessário algo como o Swish instalado (ou talvez o Dokan SSHFS).

Embora para o conteúdo de um servidor web, eu sugiro que você olhe para alguma forma de CMS (especialmente se mais de uma pessoa quiser editar o material). Melhor seria na verdade um sistema de versionamento, provavelmente Git ou SVN. Eles devem ser simples de instalar em seu servidor da Web.

    
por irneb 21.10.2017 / 07:58