web-dev-qa-db-ja.com

識別ファイルを使用したsshfs "ピアによる接続リセット"

時々、サーバーネットワークを作成する必要があります-サーバーをリンクし、データをすばやくコピーします。

私はそのために使用しています SSH Filesystem(SSHFS) 接続は Secure Shell(SSH) のようにシンプルで使いやすいためです。

セキュリティ上の理由から、パスワードの代わりに認証ファイルを使用しています。もう1つの理由は、「 Amazon Web Services(AWS)EC2 」のデフォルト設定であることです。

時々接続の問題がどこにあるのかわからない

sshfs {{user_name}}@{{server_ip}}:{{remote_path}} {{local_path}} -o "IdentityFile={{identity_path}}"

そして、私はクライアントに単純なメッセージを受け取ります

read: Connection reset by peer

サーバー上の簡単なメッセージ

"Connection reset by peer"

Q次に何ができますか?

4
BG Bruno

構文には多くの間違いがある可能性があり、それに関連してさらに多くの間違いがある可能性があります。

最良の解決策は、スイッチで詳細モードをオンにすることです

-o debug

私の場合、「IDファイルへの絶対パス」に問題があります

no such identity: {{identity_file}}: No such file or directory
Permission denied (publickey).
read: Connection reset by peer

だから私の完全なコマンドはこのようになります

sshfs {{user_name}}@{{server_ip}}:/ /mnt/{{server_ip}} -o "IdentityFile={{absolute_path}},port={{port_number}}" -o debug
4
BG Bruno

おそらくタイムアウトの問題です。このようなメッセージ(「読み取り:ピアによる接続のリセット」)は、接続は成功した(sshコマンドはOK)ことを示しますが、突然終了しました:sshクライアントが何かを送信し、代わりにRSTを受信しましたTCPフレームは、「何も送信せず、チャネルが閉じている」ことを意味します。

これは主に、ファイアウォールが非アクティブのために切断しているためです(ただし、これは、短い期間に接続が多すぎるなど、他の原因が考えられます。ファイアウォールは最近非常に不安定です)。

タイムアウトの問題を回避するには、sshオプションTCPKeepAliveまたはServerAliveInterval/ServerAliveCountMaxを使用します。 この質問 を参照してください。

1
xhienne