SFTP용 Filezilla를 사용하려고 하는데 서버에 연결할 수 없습니다. 방화벽 규칙 때문인 것 같나요?
내 SSH는 정말 괜찮습니다. SSH용 포트는 6128입니다. SSH가 이미 작동하는 경우 SSH를 통한 FTP 연결을 허용하려면 어떤 변경이 필요한지 알려주실 수 있나요?
(이것은 내 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
답변1
다른 호스트에서 SFTP에 액세스하려면 다음이 올바르게 설치 및 구성되어 있는지 확인하세요.
- OpenSSH 서버 설치
- 구성된sshd_config
- 공개키 확인은
- 하위 시스템 SFTP 내부 SFTP
~/.ssh/authorized_keys에 공개 키를 추가하세요.
SSH 서버를 시작하고 포트 22/TCP를 엽니다.
# /etc/init.d/sshd start
# iptables -I INPUT -j ACCEPT -p tcp --dport 22
마지막으로 테스트해 보세요.
$ sftp <login>@<hostname>
답변2
내 경우에는 사용자가 zsh
bash 대신 zsh 쉘에 들어갈 수 있도록 .bashrc 파일의 맨 위에 있었습니다.
bash는 그의 기본 쉘입니다. 이를 제거하면 문제가 해결되었습니다. 그런 다음 chsh user -s /bin/zsh
사용자가 zsh를 기본 쉘로 유지하도록 했습니다.
답변3
예를 들어 콘솔로 이동하는 .profile 파일에 텍스트(예: 에코 문)가 있습니까 .bashrc
? 이로 인해 SFTP 연결이 중단될 수 있습니다. 날 봐 답변serverfault에 대한 비슷한 질문
답변4
filezilla를 사용하는 경우 다음 답변이 도움이 되었습니다.
https://www.digitalocean.com/community/questions/able-to-access-via-ssh-but-not-filezilla
Filezilla에서 메뉴 "편집" -> "설정"을 선택하고 왼쪽 패널에서 "연결" -> SFTP를 확장합니다. 오른쪽에서 올바른 개인 키 파일이 있는지 확인하고, 누락된 경우 올바른 항목을 추가하세요.
DO 웹 콘솔을 사용하여 루트로 로그인하고 "tail -f /var/log/auth.log"를 실행합니다. 그런 다음 Filezilla를 사용하여 로그인을 시도하고 메시지를 기록해 두십시오.