web-dev-qa-db-ja.com

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
17
tentimes

他のホストからsftpにアクセスするには、以下が正しくインストールおよび設定されていることを確認してください。

  • インストールされているOpenSSHサーバー
  • 構成済みsshd_config
    • PubkeyAuthenticationはい
    • サブシステム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>

10
OMG-1

私の場合、.bashrcファイルの先頭にzshがあり、bashではなくzsh Shellにドロップできました。

bashは彼のデフォルトのシェルでした。これを削除することで問題は解決しました。そして私は・・・それから私は chsh user -s /bin/zshユーザーがデフォルトのシェルとしてzshを保持する。

2

.bashrcなどの.profileファイルに、コンソールに送られるテキスト(echoステートメントなど)がありますか?これはsftp接続を混乱させる可能性があります。 serverfaultで同様の質問に私の answer を参照してください

1
Paulus

ウイルス対策ソフトウェアもこれを引き起こす可能性があります。最近直面しました。 ssh via PuTTYは正常に機能していましたが、WinSCPは接続できませんでした。アンチウイルスで例外が設定されると、作業を開始しました。

1
Sibil

serverfault に関する同様の質問に対する私の回答:

私はこの問題に遭遇しました(特にsftpではなく、sshでは問題なく接続できました)。ここでの解決策はどれもうまくいきませんでした。私の場合、~/.ssh/に含まれているsshキー(IdentityFile's)が多すぎることが原因でした。正しいキーで接続しようとしているホストの~/.ssh/configにホストエントリがない場合、すべてのキーを1つずつ送信するだけです。私は6つ以上のキーを持っていましたが、確かに、デフォルトのMaxAuthTriesは6(少なくともUbuntuでは)です。

解決策は、サーバーの/etc/ssh/sshd_configを編集してMaxAuthTriesを増やすことでした。私は10に設定しました。

#MaxAuthTries 6
MaxAuthTries 10

(またはもちろん、適切なキーを使用してHostエントリを追加するだけです-この特定のケースでは、キーを使用せずにログインしようとしています)。

0
insaner

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でログインして、メッセージをメモします。

0
Ulad Kasach