web-dev-qa-db-fra.com

La connexion à la console SSH fonctionne mais SFTP ne fonctionne pas, pourquoi?

J'essaie de SFTP avec Filezilla mais il n'est pas en mesure de se connecter au serveur et je pense que cela est dû à mes règles de pare-feu?

Je peux SSH absolument bien. Le port pour SSH est 6128. Quelqu'un peut-il me dire quelles modifications je devrais apporter pour autoriser une connexion FTP sur SSH étant donné que SSH fonctionne déjà?

(Voici mes règles IPtables)

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports ssh
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             loopback/8           reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     udp  --  anywhere             anywhere             udp dpt:9987
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:10011
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:30033
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:6128
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
DROP       all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

Chain fail2ban-ssh (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
17
tentimes

Pour accéder à votre sftp à partir d'autres hôtes, veuillez vous assurer que ce qui suit est installé et configuré correctement.

  • Serveurs OpenSSH installés
  • Configuré sshd_config
    • PubkeyAuthentication oui
    • Sous-système sftp internal-sftp
  • Ajout de votre clé publique à ~/.ssh/authorized_keys

  • Démarrez le serveur ssh avec le port 22/TCP ouvert # /etc/init.d/sshd start

  • # iptables -I INPUT -j ACCEPT -p tcp --dport 22

Enfin, testez $ sftp <login>@<hostname>

10
OMG-1

Dans mon cas, l'utilisateur avait zsh en haut de son fichier .bashrc, afin de pouvoir le déposer dans zsh Shell au lieu de bash.

bash était son Shell par défaut. La suppression de ce problème a résolu le problème. J'ai alors chsh user -s /bin/zsh pour que l'utilisateur conserve zsh comme shell par défaut.

2

Avez-vous du texte dans la console (par exemple, des instructions echo) dans l'un de vos fichiers .profile tels que .bashrc? Cela peut perturber la connectivité sftp. Voir mon réponse à une question similaire sur serverfault

1
Paulus

Votre logiciel antivirus peut également provoquer ce problème. Nous y avons fait face récemment. ssh via PuTTY fonctionnait bien, mais WinSCP n'a pas pu se connecter. A commencé à fonctionner une fois qu'une exception a été configurée dans l'Anti-Virus.

1
Sibil

Ma réponse à une question similaire sur serverfault :

Je viens de rencontrer ce problème (spécifiquement pour sftp mais pas ssh, où je pouvais me connecter sans problème) et aucune des solutions ici ne fonctionnait pour moi. Dans mon cas, cela était dû au fait qu'il y avait trop de clés ssh (IdentityFile) dans ~/.ssh/. Il semble que lorsque vous n'avez pas d'entrée d'hôte dans ~/.ssh/config Pour l'hôte auquel vous essayez de vous connecter avec la bonne clé, il envoie simplement toutes vos clés une par une. J'avais plus de 6 clés, et bien sûr, la valeur par défaut MaxAuthTries est 6 (au moins dans Ubuntu).

La solution était de modifier le /etc/ssh/sshd_config Du serveur et d'augmenter MaxAuthTries. J'ai mis le mien à 10.

#MaxAuthTries 6
MaxAuthTries 10

(Ou bien sûr, ajoutez simplement une entrée Hôte avec la bonne clé - dans ce cas particulier, j'essaie de me connecter sans utiliser de clé).

0
insaner

Si vous utilisez filezilla, la réponse suivante m'a aidé:

https://www.digitalocean.com/community/questions/able-to-access-via-ssh-but-not-filezilla

Dans Filezilla, choisissez dans le menu Edition-> Paramètres, dans le panneau de gauche, développez jusqu'à Connexion-> SFTP. Sur le côté droit, assurez-vous que vous disposez du fichier de clé privée correct, ou ajoutez-le s'il manque l'entrée correcte.

À l'aide de la console Web DO, connectez-vous en tant que root et faites 'tail -f /var/log/auth.log'. Essayez ensuite de vous connecter avec Filezilla et notez tous les messages.

0
Ulad Kasach