Próbuję SFTP z Filezillą, ale nie jest w stanie połączyć się z serwerem i myślę, że jest to spowodowane moimi regułami zapory?
Mogę SSH absolutnie dobrze. Port SSH to 6128. Czy ktoś może mi powiedzieć, jakie zmiany musiałbym wprowadzić, aby zezwolić na połączenie FTP przez SSH, biorąc pod uwagę, że SSH już działa?
(Oto moje zasady 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
narzędzia wiersza poleceń na serwerze, aby się połączyć, co jest pomocne w sprawdzaniu rzeczy przed wprowadzeniem Filezilli do miksu. digitalocean.com/community/tutorials/… .Odpowiedzi:
Aby uzyskać dostęp do sftp z innych hostów, upewnij się, że poniższe są poprawnie zainstalowane i skonfigurowane.
Dodano swój klucz publiczny do ~ / .ssh / author_keys
Uruchom serwer ssh z otwartym portem 22 / TCP
# /etc/init.d/sshd start
# iptables -I INPUT -j ACCEPT -p tcp --dport 22
Na koniec przetestuj
$ sftp <login>@<hostname>
źródło
Subsystem sftp internal-sftp
zrobił to dla mnie./usr/libexec/openssh/sftp-server
Domyślnie ustawiony , który nawet nie istniałSubsystem sftp internal-sftp
do sshd_config również działało dla mnie bez żadnych innych zmian w Centos.W moim przypadku użytkownik miał
zsh
na górze swojego pliku .bashrc, aby mógł wpaść do powłoki zsh zamiast bash.bash był jego domyślną powłoką. Usunięcie tego rozwiązało problem. I wtedy,
chsh user -s /bin/zsh
aby użytkownik zachował zsh jako domyślną powłokę.źródło
fish
).Czy masz jakiś tekst przechodzący do konsoli (np. Instrukcje echa) w dowolnym pliku .profile, takim jak
.bashrc
? Może to zepsuć łączność sftp. Zobacz moją odpowiedź na podobne pytanie dotyczące błędu serweraźródło
fish
ta, spowoduje to podobne problemy.Może to również powodować oprogramowanie antywirusowe. Mieliśmy ostatnio do czynienia z tym.
ssh
przez PuTTY działało dobrze, ale WinSCP nie mógł się połączyć. Rozpoczął pracę po skonfigurowaniu wyjątku w programie antywirusowym.źródło
Jeśli używasz filezilla, następująca odpowiedź pomogła mi:
https://www.digitalocean.com/community/questions/able-to-access-via-ssh-but-not-filezilla
źródło
Moja odpowiedź na podobne pytanie dotyczące błędu serwera :
Właśnie natknąłem się na ten problem (szczególnie dla sftp, ale nie ssh, gdzie mogłem połączyć się bez problemu) i żadne z rozwiązań tutaj nie działało. W moim przypadku było to spowodowane posiadaniem zbyt wielu kluczy ssh (IdentityFile's) w
~/.ssh/
. Wygląda na to, że gdy nie masz wpisu~/.ssh/config
hosta, z którym próbujesz się połączyć za pomocą odpowiedniego klucza, wysyła on wszystkie klucze jeden po drugim. Miałem więcej niż 6 kluczy i oczywiście domyślnieMaxAuthTries
jest to 6 (przynajmniej w Ubuntu).Rozwiązaniem była edycja serwera
/etc/ssh/sshd_config
i zwiększenieMaxAuthTries
. Ustawiłem mój na 10.(Lub, oczywiście, po prostu dodaj wpis hosta z odpowiednim kluczem - w tym konkretnym przypadku próbuję zalogować się bez użycia klucza).
źródło