Я пытаюсь использовать SFTP с Filezilla, но он не может подключиться к серверу, и я думаю, что это связано с правилами брандмауэра?
Я могу SSH абсолютно нормально. Порт для SSH - 6128. Может кто-нибудь сказать мне, какие изменения я должен сделать, чтобы разрешить FTP-соединение через SSH, учитывая, что SSH уже работает?
(Вот мои правила 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
sftp
для подключения инструмент командной строки на сервере, который полезен для проверки перед тем, как включить Filezilla в соединение. digitalocean.com/community/tutorials/… .Ответы:
Чтобы получить доступ к вашему sftp с других хостов, пожалуйста, убедитесь, что следующее установлено и настроено правильно.
Добавил ваш открытый ключ в ~ / .ssh / authorized_keys
Запустите сервер ssh с открытым портом 22 / TCP
# /etc/init.d/sshd start
# iptables -I INPUT -j ACCEPT -p tcp --dport 22
Наконец, тест
$ sftp <login>@<hostname>
источник
Subsystem sftp internal-sftp
сделал это для меня. Он был установлен/usr/libexec/openssh/sftp-server
по умолчанию, которого даже не существовалоSubsystem sftp internal-sftp
в sshd_config также работало для меня без каких-либо других изменений в Centos.В моем случае пользователь имел
zsh
верхнюю часть своего файла .bashrc, чтобы он мог перейти в оболочку zsh вместо bash.Баш был его оболочкой по умолчанию. Удаление этого решило проблему. Затем я
chsh user -s /bin/zsh
сохраню zsh в качестве оболочки по умолчанию.источник
fish
).У вас есть какой-нибудь текст, идущий на консоль (например, операторы echo) в любом из ваших файлов .profile, например
.bashrc
? Это может испортить связь с sftp. Смотрите мой ответ на аналогичный вопрос на serverfaultисточник
fish
это приведет к аналогичным проблемам.Ваше антивирусное программное обеспечение также может вызвать это. Мы столкнулись с этим недавно.
ssh
через PuTTY работал нормально, но WinSCP не смог подключиться. Начал работать после настройки исключения в Антивирусе.источник
Если вы используете filezilla, мне помог следующий ответ:
https://www.digitalocean.com/community/questions/able-to-access-via-ssh-but-not-filezilla
источник
Мой ответ на аналогичный вопрос по serverfault :
Я просто столкнулся с этой проблемой (специально для sftp, но не для ssh, где я мог подключиться без проблем), и ни одно из решений здесь не помогло мне. В моем случае это было связано с слишком большим количеством ключей ssh (IdentityFile)
~/.ssh/
. Кажется, что, когда у вас нет записи хоста~/.ssh/config
для хоста, к которому вы пытаетесь подключиться с помощью правильного ключа, он просто отправляет все ваши ключи один за другим. У меня было более 6 ключей, и, конечно же, по умолчаниюMaxAuthTries
установлено 6 (по крайней мере, в Ubuntu).Решением было отредактировать сервер
/etc/ssh/sshd_config
и увеличить егоMaxAuthTries
. Я установил мой на 10.(Или, конечно, просто добавьте запись узла с правильным ключом - в данном конкретном случае я пытаюсь войти без использования ключа).
источник