概要
sshを使った認証とsshfsを使った認証で少し使い方が違ったため、つまづいたことを載せます。
sshによる公開鍵認証
公開鍵の作成手順とサーバ側での認証方法の設定(公開鍵がないと接続できないとか)は省略します。
認証コマンド
$ ssh -p ポート番号 -i ~/.ssh/id_rsa [リモートユーザー]@[リモートサーバーのホスト名]
-
-i
オプションは認証で使うファイルを指定 -
-p
オプションはポート番号を指定
sshfhによる認証
sshfs
とはsshを経由して他のサーバのディレクトリをマウントすることができます。
インストールが必要なので適宜行なってください。
今回はローカルの~/mountpoint
ディレクトリにマウントさせたいと思います。
公開鍵なし(パスワード認証)接続
認証コマンド
$ sshfs -p ポート番号 [リモートユーザー]@[リモートサーバーのホスト名]:[リモートサーバーのマウントしたいディレクトリ] [ローカルのマウント先ディレクトリ]
公開鍵認証での接続
つまづいた方法
$ sshfs -p ポート番号 [リモートユーザー]@[リモートサーバーのホスト名]:[リモートサーバーのマウントしたいディレクトリ] [ローカルのマウント先ディレクトリ] -i ~/.ssh/id_rsa
ssh接続と同じように-i
オプションで秘密鍵の指定ができると思ってました。しかしそうじゃなかった。。。
正しい方法
- sshfsのオプションで鍵を指定
$ sshfs -p ポート番号 [リモートユーザー]@[リモートサーバーのホスト名]:[リモートサーバーのマウントしたいディレクトリ] [ローカルのマウント先ディレクトリ] -o IdentityFile=~/.ssh/id_rsa
-o IdentityFile
オプションで秘密鍵を指定することで接続できました。
- sshfsでsshのコマンドを使用する
sshfs -p ポート番号 [リモートユーザー]@[リモートサーバーのホスト名]:[リモートサーバーのマウントしたいディレクトリ] [ローカルのマウント先ディレクトリ] -o ssh_command='ssh -i ~/.ssh/id_rsa'
このように-o ssh_command
でsshで秘密鍵を指定する方法を加えることで接続できました。