sshfs with fstab:接続がピアによってリセットされました


10

ラップトップ(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を追加する必要がありました。

fstab  sshfs 

回答:


8

発生している問題は、通常のユーザーがIDファイルの設定が正しいことですが、rootユーザーは使用するsshキーがわからないということです。

これを修正するには、接続を試みるときにfstabにどのIDファイル/ SSHキーを使用するかを指示します。

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

ご回答有難うございます。IdentityFileオプションですでに試しましたが、uidおよびgidオプションを指定しなかったので、それを試します!

技術的にsudoは、FUSEマウント用にすべてが正しく設定されていれば、使用する必要はありません。また、uid / gid設定は、システム上のファイルに対する権限を持つユーザーにのみ影響します。
earthmeLon 2013年

だから私はちょうどuid、gid、IdentityFile、allow_other、それらすべてのオプションを同時に試してみましたが、残念ながらまだ機能しません。まだ同じエラー。

それを書いた方法のサンプルを投稿していただけませんか?公開鍵ではなく、秘密鍵を指す必要があります。
earthmeLon 2013年

1
したがって、どちらの方法も機能しませんでした。まだ同じエラー。構成ファイルについては、正しいホストを指定して試してみました:ユーザー、ホスト名(IPと名前の両方を試しました)、identityfile。しかし、それもうまくいきませんでした。結局のところ、起動アプリケーションにコマンドsshfs my-PC:/ a_folder / media / a_folderを追加しました。fstabを使用するほどきれいではありませんが、今のところ十分に機能します。あなたの助けと提案をありがとう!他のことを考えている場合は、自由に共有してください。感謝します!

4

実際のデバッグ出力を取得するには、マウントにオプションsshfs_debugdebugオプションの両方を追加する必要があります。

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: posix-rename@openssh.com <1>
Extension: statvfs@openssh.com <2>
Extension: fstatvfs@openssh.com <2>
Extension: hardlink@openssh.com <1>
Extension: fsync@openssh.com <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現在のユーザー(この場合はroot)に対してのみ機能するように見えるため、uidとgidを設定する必要があります。


3

この問題は、sshのホストキーが変更されたときにも発生する可能性があります。

ssh経由でサーバーに接続してみてください(例:)ssh username@hostIP。次のエラーが表示された場合:

 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!    @
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

エラーメッセージの指示に従って古いキーを削除し、ssh経由で再度接続を試みます。エラーが発生しなくなった場合は、sshfs接続が機能しているはずです。


「ssh経由でサーバーに接続してみてください」ディレクトリをルートとしてマウントしている場合は、ルートとしてこれを実行してください(これは自動マウント時に発生します)。ユーザーのknown_hostsファイルは、ルートのknown_hostsファイルと異なる場合があります。
シェルバク16

0

完全な開示:昔ながらのオタクですが、ブランドはLinux /オープンソースの世界に新しく登場しています

まず、RSAキーに十分に精通していないため、パスワード認証をまだ使用しています。しかし、それはリストのトップに近づいています。

関連するセットアップ情報:Ubuntuサーバー10.04 LTSがインストールされているVMWare FusionがインストールされたMacBook Proを使用しています。サーバーのほとんどすべてのやり取りをMacのターミナルとSSHに依存

Drupalのインストールを失敗させた後、以前のスナップショットにロールバックしたところ、直前に使用したばかりのコマンドを突然実行できなくなりました。 sshfs -o idmap=user -o allow_other user@mac.home:/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キーの追加を許可するようにプロンプ​​トを表示し、その後すべてが機能します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.