Ssh
SSH 控制台登錄工作,但 SFTP 沒有,為什麼?
我正在嘗試使用 Filezilla 進行 SFTP,但它無法連接到伺服器,我認為這是由於我的防火牆規則造成的?
我可以 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
要從其他主機訪問您的 sftp,請確保已正確安裝和配置以下內容。
- 安裝的 OpenSSH 伺服器
- 配置sshd_config
- 公鑰認證是
- 子系統 sftp internal-sftp
- 將您的公鑰添加到 ~/.ssh/authorized_keys
- 打開 22/TCP 埠啟動 ssh 伺服器
# /etc/init.d/sshd start
# iptables -I INPUT -j ACCEPT -p tcp --dport 22
最後,測試
$ sftp <login>@<hostname>
在我的例子中,使用者
zsh
在他的 .bashrc 文件的頂部有,所以他可以放入 zsh shell 而不是 bash。bash 是他的預設 shell。刪除它解決了這個問題。然後我
chsh user -s /bin/zsh
為使用者保留 zsh 作為他的預設 shell。