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
Pour accéder à votre sftp à partir d'autres hôtes, veuillez vous assurer que ce qui suit est installé et configuré correctement.
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>
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.
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
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.
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é).
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.