ssh scp pour copier le fichier sur le port du serveur distant 21

22

J'essaye de copier le fichier de mon serveur vers un autre donc j'utilise la commande suivante:

scp root@myhost /home/direc/file.tar username@secondhost:/home/dir

Je reçois l'erreur:

ssh: connexion à l'hôte secondhost port 22 expirée

Je sais que c'est peut-être parce que le port 22 n'est pas ouvert sur le deuxième hôte

alors comment transférer en spécifiant le port 21 sur mon deuxième hôte

user1613566
la source

Réponses:

33

Essayer

scp -P 21 root@myhost /home/direc/file.tar username@secondhost:/home/dir

Où -P représente le numéro de port.

Vente Amol
la source
1
Je sais cela, mais il spécifie le port pour le premier hôte à partir duquel je veux copier des fichiers et non le deuxième hôte. Je dois donc spécifier le port 21 pour le deuxième hôte
user1613566
4

Deux défauts que je vois dans votre tentative et la réponse.

1) scp est un utilitaire shell sécurisé (ssh) pour copier des fichiers en toute sécurité entre des hôtes. Il utilise ssh pour le transfert de données et utilise la même authentification et offre la même sécurité que ssh (voir la page de manuel scp). Par défaut, ssh utilise le port 22. Donc, sauf si vous avez changé le numéro de port par défaut pour ssh sur le serveur de destination en 21, ou si vous n'avez pas installé et démarré le serveur ssh (sshd) sur le serveur de réception, vous ne pouvez pas utiliser scp pour copier des dossiers.

2) La ligne de commande appropriée de votre exemple devrait être:

scp -P '*port running ssh on destination server*' /home/direc/file.tar username@remotehost:/home/dir

Le premier root@myhostn'est pas nécessaire et tentera en fait de copier un fichier nommé root@myhost(qui n'existe probablement pas) et file.tar sur le serveur de destination. Vous recevrez très probablement le message:

root@myhost: No such file or directory during the copy.
Tim
la source