Yoctoを使用して組み込みボード用のファームウェアを構築しました。 SSHサーバーDropbearが実行中で正常に動作しているようです。パスワードを必要とせずにrootとしてログインできます。それにもかかわらず、sshfsを使用してUbuntuデスクトップからファイルシステムをマウントすることはできません。デスクトップでは、次のようになります。
sudo sshfs -o allow_other [email protected]:/ /mountpoint
remote host has disconnected
Pokyでは/var/log/messagesで見ることができます:
May 7 00:25:37 raspberrypi3 authpriv.info dropbear[537]: Child connection from 10.42.0.1:48010
May 7 00:25:38 raspberrypi3 authpriv.notice dropbear[537]: Auth succeeded with blank password for 'root' from 10.42.0.1:48010
May 7 00:25:38 raspberrypi3 authpriv.info dropbear[537]: Exit (root): Disconnect received
どういうわけか詳細を増やすことはできますか? /etc/default/dropbearに "verbose = 1"を追加しようとしましたが、サーバーが起動しなくなったため、おそらく間違っているようです。多分dropbearはsshfsをまったくサポートしていませんか?
答え1
SSHFSでDropbearを使用しようとする場合、問題はSSHFSにSFTPが必要で、DropbearがSCPのみをサポートしていることです。
だからデバッグはあまり意味がありませんなぜそんなことが起きています。
dd-wrt Wikiから:https://www.dd-wrt.com/wiki/index.php/Sshfs
Dropbear(デフォルトのSSHサーバー)は明らかにSSHFをサポートしていないため、Opensshをインストールして実行する必要があります。
実際に疑いがあるように、DropbearはSSHFSをサポートしていません。
PS他の読者の利益のために、Dropbearは組み込みシステム/ルーター/IoTで広く使用されているOpenSSHの軽量代替品です。
答え2
SSHFSはSFTPを使用しますが、DropbearはSFTPを提供しません。したがって、これを使用しようとすると、Dropbearサーバーは理解できないサブシステムへの要求を確認して切断します。
OpenSSHなどのSFTPサーバーをDropbearに提供できます。 (またはDropbearをOpenSSHで完全に置き換えることはできますが、必ずしもそうではありません。)sftp-server
システムで実行されているバイナリ、つまりシステムのアーキテクチャと標準ライブラリ用にコンパイルされたバイナリを見つける必要があります。 Yoctoでは、パッケージの実行可能ファイルはopenssh-sftp-server
Dropbearと連携する必要がありますが、パッケージ管理が機能していることを確認していません。