これが私の設定です:
/etc/auto.master
/mnt/10 /etc/auto.10 uid=0,gid=0,--ghost
/etc/auto.10
root -fstype=Fuse,allow_other,follow_symlinks,ssh_command=/etc/ssh/sshpass.10.sh :sshfs\#[email protected]\:/root
リモートデバイスはアプライアンスであり、パスワードなしのログインを行うためのキーを保存する機能がないため、sshpassコマンドでパスワードを渡す必要があります。そのために私はssh_command =パラメーターを使用しました
/etc/ssh/sshpass.10.sh
#!/bin/bash
sshpass -f /etc/ssh/sshpass.10 ssh -o HostKeyAlgorithms=ssh-dss $*
アプライアンスには古いopensshサーバーがあるため、sshコマンド構成で-o HostKeyAlgorithms = ssh-dssを使用する必要がありました。デバイスは生産中止であり、これ以上の更新は行われません。更新されたコンピューターからSSHで接続すると、一致するアルゴリズムがないというメッセージが表示されます。
Unable to negotiate with 10.28.0.10 port 22: no matching Host key type found. Their offer: ssh-dss
したがって、通常のsshでは、次のことを行う必要があります。
ssh -o HostKeyAlgorithms=ssh-dss [email protected]
それで、私は上で述べたように、/ etc/ssh/sshpass.10.shsshセットアップファイルで行いました。
そして最後のファイルには、改行のあるファイルの最初の行にsshrootパスワードが含まれています。 /etc/ssh/sshpass.10つまり:
password
ここでは改行を表示できませんが、もちろん、これは私が使用しているパスワードではありません。
これらのファイルで構成されているパスに移動しようとすると、/ mnt/10にアクセスでき、そこにルートフォルダーが表示されます。その中に入れようとすると、エラーが発生します:
Can't access '/mnt/10/fsshroot/': No such file or directory
OK、私はそれを理解しました。私は直接実行しようとしました:
Sudo sshfs [email protected]:/root /tmp/10/ -o reconnect,allow_other,follow_symlinks,ssh_command='ssh HostKeyAlgorithms=ssh-dss'
そしてそれは私にエラーを与えました:
read: Connection reset by peer
だから、それはうまくいきませんでした。私はそれを修正する方法を探し始めました、そしてそれをするために、私は2行を構成しなければならないことがわかりました:/ etc/ssh/ssh_config
Host 10.28.0.10
HostKeyAlgorithms=+ssh-dss
次に、削除しました:
-o HostKeyAlgorithms=ssh-dss
from:/etc/ssh/sshpass.10.sh次のようにします:
#!/bin/bash
sshpass -f /etc/ssh/sshpass.10 ssh $*
その後、autofsサービスを再起動した後、動作を開始しました。/mnt/10/rootがコンテンツの表示を開始しました。