Comment puis-je utiliser SSH avec un serveur distant pour pouvoir parcourir les fichiers et les éditer? J'ai un nom d'utilisateur et un mot de passe à utiliser.
SSH vient par défaut dans toutes les versions d'Ubuntu, vous éviterez ainsi de l'installer (+1 pour l'avoir déjà là;))
Sauf bien sûr dans le cas où vous voulez un serveur SSH pour votre serveur Ubuntu. Dans ce cas, vous voudriez
Sudo apt-get install openssh-server
ce qui devrait rendre votre ordinateur/serveur prêt à être un serveur ssh.
Pour l'utiliser c'est assez facile:
ssh USER@SITE
par exemple si mon nom d'utilisateur est cyrex et que le site est buntu.com alors vous feriez ceci:
ssh [email protected]
Supposons maintenant que vous souhaitiez copier un fichier appelé bubblegum.txt
de votre ordinateur sur votre site Ubuntu et que vous souhaitiez laisser ce fichier dans le dossier /var/www
du site ubuntu. vous pouvez le faire (en supposant que votre utilisateur dispose d'autorisations suffisantes sur le site Ubuntu) en utilisant le frère de SSH, SCP (qui est également fourni par défaut dans Ubuntu):
scp bubblegum.txt [email protected]:/var/www
Notez le :
entre USER @ SITE et le dossier dans lequel vous souhaitez le copier. C'est celui qui sépare les deux éléments.
Maintenant, disons que vous téléchargez un très gros fichier avec scp et que le pire arrive, le monde explose. Comment pouvez-vous continuer à télécharger ce fichier sur le serveur? Ensuite, vous avez le grand frère de SCP, rsync (est fourni par défaut dans Ubuntu). À bien des égards, scp et rsync font la même chose, mais il existe de grandes différences entre eux:
Quoi qu'il en soit, dans le cas où scp ne pourrait pas télécharger l'intégralité du fichier, c'est ici que rsync intervient. (Merci à Marco Ceppi pour le conseil. Votez son commentaire si vous aimez les chats .. et/ou les chiens)
Disons que vous avez fait la mention de téléchargement ci-dessus de scp et qu'elle a atteint 60%. Comment pouvez-vous continuer dans ces 60% sans perdre votre temps en téléchargement? Vous feriez ceci:
rsync --progress --partial bubblegum.txt [email protected]:/var/www
Cela indique à rsync de montrer les progrès de manière lisible pour l’homme avec le drapeau --progress
. Il demande également à rsync de vérifier et de continuer à partir de l’endroit où se trouve le fichier bubblegum.txt avec le drapeau --partial
. Vous pouvez également simplifier le montant à écrire avec le paramètre -P qui est identique à --progress et à --partial, de sorte que ce qui précède ressemble à ceci:
rsync -P bubblegum.txt [email protected]:/var/www
Vous pouvez même CTRL+C l'envoyer et le reprendre en exécutant la commande de rsync ci-dessus. Très cool d'avoir la possibilité de reprendre quelque chose n'importe quand, à tout moment.
Pour plus d'informations sur rsync, fourni par défaut avec Ubuntu, vous pouvez taper les commandes de terminal suivantes:
man rsync
info rsync
rsync --help
Maintenant, spécifiez un port pour SSH. Pour le spécifier, vous pouvez le faire comme ceci:
ssh [email protected] -p PORT
. Par exemple: ssh [email protected] -p 1234
pour lui dire d’utiliser le port 1234 pour le service SSH. Cela doit d'abord être configuré sur le serveur pour que cela fonctionne.
Pour le configurer, ouvrez simplement sur le serveur le fichier ssh_config comme ceci: nano /etc/ssh/ssh_config
et modifiez la ligne qui dit # port 22
sur un autre port. Pensez également à supprimer le commentaire de cette ligne. Cela devrait ressembler à ceci: port 1234
dans le cas de l'exemple ci-dessus.
Maintenant, redémarrez le service SSH sur le serveur et vous avez terminé. Pour redémarrer le service, procédez comme suit:
Sudo restart ssh
ou
Sudo /etc/init.d/ssh restart
NOTE - Vous pouvez également utiliser SSH à partir d’outils graphiques tels que filezilla
qui offrent la possibilité d’utiliser ssh au lieu de ftp. ssh est également accessible depuis le menu Ubuntu:
qui donne accès à plusieurs options, notamment partage Windows, SSH et FTP:
Pour plus d'informations sur SSH, vous pouvez utiliser l'une des commandes suivantes dans la console de votre ordinateur Ubuntu:
man ssh
info ssh
ssh --help
Si vous souhaitez parcourir le serveur via Nautilus comme vous le faites avec des fichiers sur votre ordinateur local:
Allez dans "Fichier" -> "Se connecter au serveur"
Sélectionnez "SSH" sous "Type de service"
Mettez l'adresse IP ou le domaine sous "Serveur"
Ajoutez votre nom d'utilisateur et cochez la case "Ajouter un favori" si vous souhaitez que l'emplacement soit enregistré dans vos favoris.
Le dossier devrait s'ouvrir pour vous.
Vous pouvez utiliser sshfs
pour monter un répertoire distant sur votre système de fichiers local.
Voir https://help.ubuntu.com/community/SSHFS :
Utilisation en ligne de commande
Maintenant, en supposant qu'un serveur SSH s'exécute sur une machine distante, exécutez simplement la commande SSHFS pour monter le répertoire distant. Dans cet exemple, le répertoire distant est/projects sur l'hôte distant far. Le point de montage local est ~/far_projects.
mkdir ~/far_projects
sshfs -o idmap=user $USER@far:/projects ~/far_projects
Pour démonter,
fusermount -u ~/far_projects
Pour l'ajouter à votre/etc/fstab,
sshfs#$USER@far:/projects /home/$USER/far_projects Fuse defaults,idmap=user 0 0
Notez que vous devez remplacer votre nom d'utilisateur par $ USER lors de la modification de fstab, mais ce n'est pas nécessaire lorsque vous tapez des commandes (le shell le fait pour vous dans ce cas).
En supposant que le serveur ssh soit déjà configuré, ouvrez un terminal et tapez:
ssh username@hostname
Vous serez invité à entrer votre mot de passe. il suffit d'entrer Si vous avez besoin d'un numéro de port, ajoutez -p PORTNUM
.
Si vous pouvez utiliser Vim, Pico, etc., vous pouvez utiliser le terminal:
ssh [email protected]
Entrez votre mot de passe et vous y êtes. À partir de là, c'est comme un terminal classique, sauf que vous n'avez pas d'interface graphique.
Notez que vous pouvez ajouter l'option '-X', et si votre serveur a un serveur X configuré, vous pouvez exécuter des programmes graphiques. Tapez simplement leur nom si vous avez ajouté -X et cela ouvrira une fenêtre graphique.
Maintenant, vous voudrez probablement configurer une connexion sans mot de passe. Si vous n'avez pas encore de clé, tapez ssh-keygen
et appuyez simplement sur Entrée pour afficher toutes les valeurs par défaut. Ensuite, faites ssh-copy-id [email protected]
. Une fois que cela est fait, il suffit de taper ssh [email protected]
et vous n'avez pas à entrer votre mot de passe!
Si votre nom d'utilisateur est identique à celui de votre ordinateur portable, vous n'avez pas besoin de MYUSER@
. Vous pouvez simplement faire ssh mysite.com
. Vous pouvez également utiliser l'option -l MYUSER
au lieu de MYUSER@
Si vous voulez une interface graphique, Nautilus peut le faire. Fichier ->
Connect to Server ->
[sélectionnez 'SSH', puis renseignez les informations de connexion] ->
Connect.
Si vous souhaitez simplement copier un seul fichier, utilisez scp [copie sécurisée].scp [email protected]:path/to/file.dat ./
Ceci copie le fichier "~/path/to/file.dat" dans votre répertoire actuel. Notez que si vous n'avez pas de barre oblique ni de tilde après le :
, il agira comme si vous vous trouviez dans votre répertoire personnel [~/
]. Si vous voulez télécharger, scp ./local_file.dat [email protected]:
Cela le mettra dans votre répertoire personnel.
ssh -X -C user@Host nautilus --no-desktop
pour passer en mode interface graphique :)