web-dev-qa-db-fra.com

Modification de fichiers sur le serveur via SSH

Je travaille sur une application Web et tous ses fichiers se trouvent sur un serveur Linux auquel j'accède via SSH. Existe-t-il un moyen de modifier ces fichiers dans un éditeur de texte autre que vim ou nano via SSH, car toute notre équipe doit travailler sur ce projet (interface, gestion de base de données, etc.), et nous préférons travailler avec dessus pendant qu'il est sur le serveur. Je parle de l'édition de fichiers sur SSH sur des éditeurs de texte dans la lignée de Sublime Text ou Atom.

6
Reaper9806

ssh sur le serveur et exécutez les commandes suivantes pour installer 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

Après l'installation, quittez la session ssh.

Ensuite, vous pouvez transférer une xsession sur ssh en utilisant l’option -X comme ceci:

ssh -X username@serverip atom

en remplaçant username et serverip par le nom d'utilisateur actuel et l'adresse IP réelle du serveur bien sûr.

Voici quelques articles liés:

comment-voir-graphique-vue-de-application-using-ssh

comment-transférer-x-sur-ssh-d'ubuntu-machine

En outre, voici un article lié.

3
mchid

Si vous avez déjà la possibilité de ssh sur cet hôte distant, puis sur le problème local de la machine 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

Vous êtes libre d'utiliser n'importe quel éditeur local pour modifier en direct tout fichier résidant sur ce répertoire distant /path/remote_dir en modifiant le même nom de fichier trouvé dans votre nouveau répertoire miroir local en direct ... toujours sur le problème de l'ordinateur local.

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

Maintenant, éditez tout fichier dans ~/local_mountpointdir qui vivra en temps réel la synchronisation automatique de toutes les éditions jusqu’à l’enregistrement de l’hôte distant ... une fois terminé, tuez simplement le pid de la boîte locale exécutant sshfs. La connexion disparaîtra de même que le contenu de ~/local_mountpointdir, sachant ils sont en sécurité sur l'hôte distant

3
Scott Stensland

Vous pouvez aussi utiliser Emacs. Il a une large gamme de fonctionnalités et un mode NoX

emacs -nw <filename>

Bien que la question demeure, quelles fonctions recherchez-vous?

2
Jim Knopf

gEdit peut faire ce que vous voulez. Vous pouvez configurer votre système pour qu'il se connecte à un serveur distant via Nautilus (fichiers, connexion au serveur). Vous pouvez ensuite utiliser le volet de gauche (F9) dans gEdit pour rechercher ce serveur distant et commencer à le modifier.

J'utilise Aptana pour des choses comme ça. Il a une méthode "ftp distante" où vous créez une connexion, pointez sur un répertoire et répertorie tous les fichiers afin que vous puissiez les éditer. Pour html, js et d'autres langages de codage, un IDE comme Aptana dispose d'un formatage de code. Oh, et ne jetez pas vim si facilement;) Eclipse, Bluefish, Anjuta, Geany sont quelques-uns des autres EDI, mais je n’ai pas tout vérifié pour un accès à distance;)

Vous devrez peut-être modifier les autorisations sur les fichiers que vous souhaitez pouvoir modifier côté serveur.

1
Rinzwind

Si vous démarrez votre session ssh avec l'option -X, vous pouvez utiliser n'importe quel éditeur installé, man -k editor | less, pour voir ce que votre système possède. L'option -X configurera le renvoi X11. Voir man ssh.

Quelles fonctionnalités de "Sublime Text ou Atom" recherchez-vous?

0
waltinator

Je suis d'accord avec ce que quelques personnes ont mentionné sur le transfert d'applications via l'interface graphique via SSH. J'ai tendance à faire cela avec quelques choses que nous courons, par exemple. Sur notre serveur IBM TSM. Je n'ai jamais utilisé les éditeurs que vous avez mentionnés, mais je pense que le faire suivre par X est la voie à suivre si vous voulez utiliser SSH.

0
sark

Je vois ce que tu veux dire. Vim est un outil très puissant, mais presque personne ne sait comment l'utiliser.

En fait, je préfère mcedit (l'éditeur fourni avec mc - Midnight Commander) que j'ai tendance à installer de toute façon pour les connexions SSH.

Si vous souhaitez utiliser un éditeur graphique, vous pouvez installer un serveur X pour partager l'interface graphique sur SSH, comme le suggèrent d'autres réponses. Mais IMO, c'est exagéré et beaucoup de choses supplémentaires sur votre serveur. Je vous suggérerais plutôt de partager les dossiers contenant les pages sur lesquelles vous souhaitez travailler, de préférence sur NFS, car ce sont les installations les moins supplémentaires, ou même simplement WebDAV, puisque votre serveur exécute déjà un démon de serveur Web. Bien que si vos ordinateurs clients exécutent Windows, vous aurez plutôt besoin de samba, assurez-vous de ne JAMAIS autoriser le partage de Samba en dehors de votre réseau local - [sarcasm = on], ce n’est pas la chose la plus sûre à faire [/ sarcasm].

Si vous avez besoin d'un accès complet à tous les dossiers du serveur, je vous suggérerais SFTP via votre connexion SSH. Il est également déjà sur votre serveur car SSH est déjà opérationnel - aucune installation supplémentaire n’est nécessaire sur votre serveur, ce qui est un gros plus. Il est même possible de monter un SFTP en tant que "lecteur" de réseau, au moins de manière native sur tous les Linux (comme le suggère une réponse via sshfs). Pour Windows, il faut quelque chose comme Swish installé (ou peut-être Dokan SSHFS).

Bien que pour le contenu sur un serveur Web, je vous conseillerais certainement de regarder une forme de CMS (surtout si plus d'une personne doit éditer des choses). Le mieux serait en réalité un système de gestion de version, probablement Git ou SVN. Ils devraient être assez simples à installer sur votre serveur Web.

0
irneb