Comment utiliser SSH (commandes ssh & rsync)?

44

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.

el_pup_le
la source

Réponses:

49

SSH est livré par défaut dans toutes les versions d’Ubuntu, vous évitez donc de l’installer (+1 pour le posséder déjà;))

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@SITEpar exemple , si mon nom d' utilisateur est CYREX et le site est ubuntu.com alors vous feriez ceci:

ssh [email protected]

Maintenant, disons que vous voulez copier un fichier appelé bubblegum.txtde votre ordinateur sur votre site Ubuntu et que vous voulez laisser ce fichier dans le /var/wwwdossier du site Ubuntu. vous pouvez le faire (en supposant que votre utilisateur dispose d’autorisations suffisantes sur le site Ubuntu) en utilisant Brother, SCP de SSH (qui existe également par défaut dans Ubuntu):

scp bubblegum.txt [email protected]:/var/www 

Remarquez le lien :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 (vient 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:

  • rsync peut télécharger des fichiers partiels laissés par rsync ou scp après une déconnexion ou une domination du monde.
  • rsync peut montrer les progrès beaucoup mieux que scp
  • rsync peut optimiser le téléchargement de telle sorte que vous puissiez réellement économiser des secondes ou des minutes. Il indique également à la fin du téléchargement combien vous avez économisé.

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 avec le --progressdrapeau. Il demande également à rsync de vérifier et de continuer à partir de l’endroit où le fichier bubblegum.txt se trouve avec l’ --partialindicateur. 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+ Cenvoyer le téléchargement 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 1234pour 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 le serveur ssh_config comme suit : nano /etc/ssh/ssh_configet changez la ligne indiquant # port 22un autre port. Pensez également à supprimer le commentaire de cette ligne. Cela devrait ressembler à ceci: port 1234dans 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 filezillaque ceux qui offrent la possibilité d’utiliser ssh au lieu de ftp. ssh est également accessible depuis le menu Ubuntu:

entrez la description de l'image ici

qui donne accès à plusieurs options, notamment le partage Windows, SSH et FTP :

entrez la description de l'image ici

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
Luis Alvarado
la source
De quoi parlez-vous désolé?
Luis Alvarado
23

Si vous souhaitez parcourir le serveur via Nautilus comme vous le faites avec des fichiers sur votre ordinateur local:

  1. Open Nautilus ("Dossier personnel")
  2. Allez dans "Fichier" -> "Se connecter au serveur"

    Connecter au serveur

  3. Sélectionnez "SSH" sous "Type de service"

  4. Mettez l'adresse IP ou le domaine sous "Serveur"

    Sélectionnez SSH

  5. 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.

Jamesadney
la source
Sur Kubuntu, on peut faire la même chose avec Krusader .
Adobe
6

Vous pouvez utiliser sshfspour 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 changer votre nom d'utilisateur avec $ USER lors de l'édition de fstab, mais ce n'est pas nécessaire lorsque vous tapez des commandes (le shell le fait pour vous dans ce cas).

Stacey Richards
la source
4

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.

Dang Khoa
la source
2

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 dispose d'un serveur X configuré, vous pouvez exécuter des programmes à interface graphique. 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-keygenet appuyez simplement sur Entrée pour afficher toutes les valeurs par défaut. Alors fais 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'en avez pas besoin MYUSER@. Vous pouvez juste faire ssh mysite.com. Vous pouvez également utiliser l' -l MYUSERoption au lieu deMYUSER@

Si vous voulez une interface graphique, Nautilus peut le faire. Fichier ->Se connecter au serveur ->[sélectionnez "SSH", puis renseignez les informations de connexion] -> Connexion.

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 :, cela se comportera 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.

Mat
la source
0

ssh -X -C user@host nautilus --no-desktop aller en mode gui :)

morgie
la source
Le Nautilus local peut simplement se connecter à un partage SSH. Il n'est pas nécessaire de lancer Nautilus à distance. En fait, je ne recommanderais pas cela. Suggestion créative, mais toujours -1
Jo-Erlend Schinstad