ラップトップ(Ubuntu 13.04)がSSHFSを介してPC(Lubuntu 13.04)のハードドライブにアクセスできるようにしようとしています。 RSAキーを使用して接続しています。
ターミナルでこれを入力すると完璧に機能します:
sshfs my-PC:/a_folder /media/a_folder
しかし、ラップトップを起動すると自動的にマウントされます。そこで、私は自分自身をヒューズグループに追加しました。
Sudo adduser mynickname Fuse
そして、fstabファイルに次の行を追加しました。
sshfs#mynickname@my-PC:/a_folder /media/a_folder Fuse defaults,idmap=user,_netdev 0 0
ラップトップを起動すると、デバイスのリストにa_folderが表示されますが、マウントされていません。 Nautilusからアクセスしようとすると、次のエラーが表示されます。
mount: only root can mount sshfs#mynickname@my-PC:/a_folder on /media/a_folder
試しても同じエラーが発生します
mount /media/a_folder
ターミナルで。
私が試してみると
Sudo mount /media/a_folder
私は得る
read: Connection reset by peer
Fstabエントリのオプションとして「allow_other」を追加しようとしましたが、/ etc/Fuse.confの関連する行のコメントを外しましたが、何も変わりませんでした。
ユーザー「mynickname」はフォルダー/ media/a_folderの所有者であり、rwx権限を持っています。
私はインターネット上の多くのスレッドで、よく似た問題を抱えている人々について調べましたが、これまでのところ何も機能していません。通常、人々はすることさえできません
sshfs my-PC:/a_folder /media/a_folder
エラーが発生することなく、これは私のラップトップで正常に動作します。
洞察とヒントは大歓迎です!ありがとう。
編集:私はしばらく前にこの問題を解決しましたが、この投稿を更新するのを忘れていました。だからここに私のfstabにあるものがあります:
sshfs#mynickname@my-PC:/a_folder /media/a_folder Fuse noauto,_netdev,idmap=user,user,default_permissions 0 0
追加するキーオプションは、思い出すとdefault_permissionsでした。 my-PCで/ a_folder /が属するグループにmynicknameを追加する必要がありました。
あなたが経験している問題は、通常のユーザーはあなたのIDファイルの正しいセットアップを持っているが、rootユーザーはどのsshキーを使うべきかわからないということです。
これを修正するには、接続の試行中に使用するIDファイル/ sshキーをfstabに指示します。
sshfs#user@Host:/mnt/whatever/ /mnt/whatever/ Fuse user,_netdev,reconnect,uid=1000,gid=1000,IdentityFile=/home/USER/.ssh/KEYFILE,idmap=user,allow_other 0 2
実際のデバッグ出力を取得するには、sshfs_debug
オプションとdebug
オプションの両方をマウントに追加する必要があります。
sshfs#mynickname@my-PC:/a_folder /media/a_folder Fuse defaults,idmap=user,_netdev,debug,sshfs_debug 0 0
これにより、多くのデバッグ情報が得られます。
$ Sudo mount -a
SSHFS version 2.5
Fuse library version: 2.9.2
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
executing <ssh> <-x> <-a> <-oClearAllForwardings=yes> <-2> <user@box> <-s> <sftp>
user@box's password:
Server version: 3
Extension: [email protected] <1>
Extension: [email protected] <2>
Extension: [email protected] <2>
Extension: [email protected] <1>
Extension: [email protected] <1>
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.22
flags=0x0000f7fb
max_readahead=0x00020000
remote_uid = 1001
INIT: 7.19
flags=0x00000011
max_readahead=0x00020000
max_write=0x00020000
max_background=0
congestion_threshold=0
unique: 1, success, outsize: 40
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 2771
unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 47, pid: 3371
私の場合、自分のマシンは.ssh/config
にのみリストされているため、rootで解決できないことがわかりました。
ところで、idmap=user
は現在のユーザー(この場合はルート)に対してのみ機能するようであるため、uidとgidを設定する必要があります。
この問題は、sshのホストキーが変更された場合にも発生する可能性があります。
Ssh経由でサーバーに接続してみてください(例:ssh username@hostIP
)。次のエラーが表示される場合:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE Host IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
エラーメッセージの指示に従って古いキーを削除し、sshを介して再度接続してください。エラーが表示されなくなったら、sshfs接続が機能するはずです。
完全な開示:昔ながらのオタクですが、Linux /オープンソースの世界では新しいブランドがあります
まず、RSAキーについて十分な知識を持っていないため、まだパスワード認証を使用しています。しかし、それはリストのトップに近づいています。
関連するセットアップ情報:VMWare FusionがインストールされたMacBook Proを使用し、その上にUbuntuサーバー10.04 LTSがあります。ほとんどすべてのサーバーインタラクションをMacのターミナルとSSHに依存
Drupalインストールを失敗させた後、以前のスナップショットにロールバックし、以前に使用したばかりのコマンドを突然実行できませんでした:sshfs -o idmap=user -o allow_other [email protected]:/Users/<username>/Documents ~/mountpoint
問題は、キーが同期しなくなったことです。ホストとサーバーの両方で実際にこれを行う必要があるかどうかはわかりませんが、まずknown_hostsファイルのバックアップを作成し、次にknown_hostsファイルを編集してエントリを削除することで、それぞれのローカルキーをすべてクリアしました。
Macでは、このファイルは/Users/<username>/.ssh/known_hosts
にありました
Ubuntuでは、このファイルは/home/<username>/.ssh/known_hosts
にあります
つまり、要約すると、Ubuntuサーバーを起動した後、すべてがMacターミナルから実行されました。
cp /Users/<username>/.ssh/known_hosts /Users/<username>/.ssh/known_hosts.old
nano /Users/<username>/.ssh/known_hosts
# remove extra entries, save file
ssh <username>@ubuntu_server
cp /home/<username>/.ssh/known_hosts, /home/<username>/.ssh/known_hosts.old
nano /home/<username>/.ssh/known_hosts
# remove extra entries, save file
各システムへの最初のSSHで、SSHはRSAキーの追加を許可するようプロンプトを表示し、その後はすべて動作します。