SSHコンソールへのログインは正常ですが、SFTPによるログインはできません。なぜですか?

SSHコンソールへのログインは正常ですが、SFTPによるログインはできません。なぜですか?

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

私の場合、ユーザーがzshbashの代わりに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 Webコンソールを使用してrootとしてログインし、「tail -f /var/log/auth.log」を実行します。次に Filezilla を使用してログインし、メッセージを記録しておきます。

関連情報