Comment puis-je me connecter en SSH à un serveur distant pour pouvoir parcourir les fichiers et les modifier ? J'ai un nom d'utilisateur et un mot de passe à utiliser.
Réponses
Trop de publicités?SSH vient par défaut dans toutes les versions d'Ubuntu, donc vous économisez du temps en ne devant pas 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 devriez
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 UTILISATEUR@SITE
par exemple si mon nom d'utilisateur est cyrex et le site est ubuntu.com alors vous feriez ceci:
ssh cyrex@ubuntu.com
Maintenant disons que vous voulez copier un fichier appelé bubblegum.txt
de votre ordinateur vers votre site ubuntu et que vous voulez laisser ce fichier dans le dossier /var/www
sur le site ubuntu. Vous pouvez le faire (en supposant que votre utilisateur ait assez de permissions sur le site ubuntu) en utilisant le Frère de SSH, SCP (qui vient aussi par défaut dans Ubuntu):
scp bubblegum.txt cyrex@ubuntu.com:/var/www
Remarquez le :
entre l'UTILISATEUR@SITE et le dossier où vous voulez le copier. C'est lui qui sépare les deux éléments.
Maintenant imaginons que vous téléchargiez un fichier énorme avec scp et puis le pire arrive, le monde explose. Comment pouvez-vous continuer à télécharger ce fichier sur le serveur. Alors vous avez le grand frère de SCP, rsync (Vient par défaut dans Ubuntu). De plusieurs façons, scp et rsync font la même chose mais voici quelques grandes différences entre eux:
- rsync peut télécharger des fichiers partiels laissés par rsync ou scp après une déconnexion ou une domination mondiale.
- rsync peut montrer la progression beaucoup mieux que scp
- rsync peut optimiser le téléchargement de telle manière que vous pouvez réellement économiser des secondes ou des minutes sur le téléchargement. Il montre aussi à la fin du téléchargement combien vous avez économisé.
Quoi qu'il en soit, dans le cas où scp n'a pas pu télécharger le fichier entier, c'est là que rsync intervient pour vous sauver. (Merci à Marco Ceppi pour le conseil. Votez pour son commentaire si vous aimez les chats... et/ou les chiens)
Imaginons que vous avez effectué le téléchargement mentionné ci-dessus avec scp et qu'il en est à 60%. Comment pouvez-vous continuer à 60% sans perdre la valeur de votre temps pour le téléchargement. Vous feriez ceci:
rsync --progress --partial bubblegum.txt cyrex@ubuntu.com:/var/www
Cela dit à rsync de montrer la progression de manière lisible avec le drapeau --progress
. Cela dit également à rsync de vérifier et de continuer là où le fichier bubblegum.txt s'est arrêté avec le drapeau --partial
. Vous pouvez aussi simplifier la quantité à écrire avec le paramètre -P qui est le même que --progress et --partial, donc le code ci-dessus ressemblerait à ceci:
rsync -P bubblegum.txt cyrex@ubuntu.com:/var/www
Vous pouvez même CTRL+C le téléchargement et le reprendre en effectuant la commande de rsync ci-dessus. Très cool d'avoir la capacité de reprendre quelque chose à tout moment, autant de fois que nécessaire.
Pour plus d'informations sur rsync qui vient par défaut avec Ubuntu, vous pouvez taper les commandes terminal suivantes:
man rsync
info rsync
rsync --help
Maintenant pour spécifier un port pour SSH. Pour le spécifier, vous pouvez le faire comme ceci:
ssh cyrex@ubuntu.com -p PORT
. Par exemple: ssh cyrex@ubuntu.com -p 1234
pour lui dire d'utiliser le port 1234 pour le service SSH. Cela doit être configuré d'abord dans le serveur pour que cela fonctionne.
Pour le configurer, ouvrez simplement dans le serveur le fichier ssh_config comme ceci: nano /etc/ssh/ssh_config
et changez la ligne qui dit # port 22
vers un autre port. N'oubliez pas de supprimer également le commentaire de cette ligne. Elle devrait ressembler à ceci: port 1234
dans le cas de l'exemple ci-dessus.
Maintenant redémarrez simplement le service ssh dans le serveur et vous avez terminé. Pour redémarrer le service, faites simplement ceci:
sudo restart ssh
ou
sudo /etc/init.d/ssh restart
REMARQUE - Vous pouvez également utiliser SSH à partir d'outils GUI comme filezilla
qui offrent l'option d'utiliser ssh au lieu de ftp. SSH peut également être accessible depuis le menu Ubuntu:
qui donne accès à plusieurs options, y compris partage Windows, SSH et FTP:
Pour plus d'informations sur SSH, vous pouvez utiliser l'une des commandes suivantes dans la console de votre Ubuntu:
man ssh
info ssh
ssh --help
Si vous souhaitez parcourir le serveur à travers Nautilus comme vous le faites avec les fichiers sur votre machine locale :
-
Ouvrez Nautilus ("Dossier personnel")
-
Allez dans "Fichier" --> "Se connecter au serveur"
-
Sélectionnez "SSH" sous "Type de service"
-
Entrez l'adresse IP ou le domaine sous "Serveur"
-
Ajoutez votre nom d'utilisateur et cochez "Ajouter un signet" si vous souhaitez que l'emplacement soit enregistré dans vos signets.
Le dossier devrait s'ouvrir directement 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 que vous avez un serveur SSH en cours d'exécution 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 changer $USER par votre nom d'utilisateur lorsque vous modifiez fstab, mais ce n'est pas nécessaire lorsque vous tapez des commandes (le shell le fait pour vous dans ce cas).
Si vous pouvez utiliser Vim, Pico, ou autre, vous pouvez utiliser le terminal:
ssh MYUSER@mysite.com
Entrez votre mot de passe, et vous y êtes. Ensuite, c'est comme un terminal normal, 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 en interface graphique. Il vous suffit de taper leur nom si vous avez ajouté -X et cela lancera 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 toutes les valeurs par défaut. Ensuite, faites ssh-copy-id MYUSER@mysite.com
. Une fois que c'est fait, il vous suffit de taper ssh MYUSER@mysite.com
et vous n'aurez pas besoin d'entrer votre mot de passe!
Si votre nom d'utilisateur est le même que 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
à la place de MYUSER@
Si vous voulez une interface graphique, Nautilus peut le faire. Fichier ->
Se connecter au serveur ->
[choisir 'SSH', puis remplir les détails de connexion] ->
Connecter.
Si vous voulez simplement copier un seul fichier, utilisez scp [copie sécurisée].scp MYUSER@mysite.com:chemin/vers/fichier.dat ./
Cela copie le fichier "~/chemin/vers/fichier.dat" dans votre répertoire actuel. Notez que si vous n'avez pas de slash ou de tilde après le :
, cela agira comme si vous étiez dans votre répertoire personnel [~/
]. Si vous voulez téléverser, scp ./fichier_local.dat MYUSER@mysite.com:
Cela le placera dans votre répertoire personnel.
- Réponses précédentes
- Plus de réponses