みなさん初めまして。skrby1です。
この記事は、ターミナルに興味はあって多少使えるけどイマイチいい使い方がよく分からない!という人向けの記事です。
はじめに
今日は、ネットの先のフォルダをセキュリティ的に安全な方法で接続して、Finderにマウントする方法を紹介します!
普通はネットの先のフォルダは、FTPアプリ等を使ってアプリの中でファイル操作などを行うかと思いますが、この方法だとFinder上で普通のフォルダとファイルみたいに扱うことができます。今回は自分の使っている「エックスサーバー」さんにSSH接続するという事で話を進めていきます。
使うのはズバリ「osxfuseとsshfs」というアプリです。
Homebrewを使用しているのが前提です。ターミナルの使い方がわからないという人はまずはターミナルの基本動作(ls、cd、pwdとか)を覚えてから、ググってHomebrewを使える様にしておいて下さい。
Homebrewが使えるようになったら、Homebrew Caskも使えるようにしてください。
それと/usr/local/bin/にパスを通しておいて下さい。これもググれば色んな所で説明されてると思います。
インストールの方法
brew cask install osxfuse
brew install sshfs
でOKです。sshfsをインストールするのに、他に必要なファイルがあって、最初はズラズラと色々な表示が出てくると思いますが、ひるまずにいてください。(^_^;A
下準備
鍵の生成
まずはssh接続に必要な鍵ファイルを生成します。
ターミナルで、
ssh-keygen
と入力します。すると、どこにファイルを生成するか?と聞かれます。そのままでよければ、そのまま何も入力せずリターンを押します。
次にパスフレーズを入力してくれと言われるのですが、これも入力せず、そのままリターンを押します。
そうすると~/.ssh以下に、id_rsaと、id_rsa.pubというファイルができているので、id_rsaのパーミッションを600に変更します。
cd ~/.ssh/
chmod 600 id_rsa
を入力します。
この後もまだターミナルで作業があるので、ターミナルはそのままにしておいてください。
公開鍵の登録
次に公開鍵を相手のサイトに置きます。まずはブラウザでエックスサーバーのサーバーパネルにアクセスして、ログインします。
ログインしたら「SSH設定」の欄をクリック、その後「公開鍵登録・設定」のタブをクリックして開いておきます。
次にターミナルで先ほどのディレクトリ(~/.ssh/)にまだいるとして、id_rsa.pubの中身をコピーします。
本当はVimなどのエディタがあれば便利にコピーできるのですが、ないとして、まず現在いる場所(~/.ssh/)をFinder上で開きます。
ターミナルで、
open .(ピリオドを忘れないでください)
これで.sshフォルダがFinderで開きます。その中のid_rsa.pubのファイルをテキストエディットで開き、全文をコピーします。
そうしたらテキストエディットは終了して大丈夫です。その後ターミナルも終了して大丈夫です。
そうしたら、ブラウザに戻って、先ほどのテキスト入力欄にコピーしたテキストをペーストします。そうしたら登録ボタンを押して、登録確認を押します。そうしたら、「SSH設定」のタブを押して、状態をONにします。
ここまで終われば、エックスサーバーでの作業は終わりです。お疲れ様です。ログアウトしてブラウザは終了して大丈夫です。設定は後もう少しで終わりです。もうちょっとお付き合いください。
マウントするフォルダの作成等
そうしたらあとは、実際にマウントする時にマウントポイントになるフォルダを作成します。普通にFinderで新規フォルダで作っても大丈夫です。多分どこに作ってもいいと思いますが、自分はターミナルで言うところのホームディレクトリにフォルダを作っています。
ターミナルで(ホームディレクトリにいるとして)、
mkdir NAME
で任意の名前のフォルダが作れます。
これで下準備は終わりです。お疲れ様でした!あとは実際に接続して、普通のファイルみたいに扱うのみです。
実際の使用
まずはネットの先のフォルダをマウントします。
sshfs ユーザ名@ホスト名:接続先のマウントしたいフォルダへのパス 自分が作ったマウント用のフォルダのパス -oI(大文字のアイです)dentityFile ~/.ssh/id_rsa -p ポート番号
記述例:sshfs testuser@ts921.test.jp:/home/testuser.com/ ~/NANE -oIdentityFile ~/.ssh/id_rsa -p 1022
ポート番号は、プロバイダによっておそらく違ったりするみたいなので、プロバイダさんのマニュアルを読んでください。
どうですか?無事に接続先のフォルダがFinderにマウントされましたか?
デスクトップを見てみて下さい。画像のようなフォルダが見えているでしょうか?
これがあれば後は普通のファイルみたいに、コピーやら複製やら、Macのアプリで開く事もできます。
接続を切る
接続を切りたい時は、普通にマウントされたフォルダのアイコンから取り出すを選んでもいいですし、
ターミナルで
umount 自分が作ったマウント用のフォルダのパス
でも接続を切る事ができます。
自動マウント用スクリプトの紹介
さて、実際マウントができた所で、頻繁にこの作業やらないと忘れちゃうよ!とかコマンド長くて打つのが面倒だ!という人がいるかもしれません。
実は自分も面倒だったので、アップルスクリプトを書きました!もしよかったらスクリプトをダウンロードして動かしてみてください。
最初の方の下準備は自分でやっていただく必要があります。その後のマウントの所だけ自動化しています。ご注意ください。
マウント自動化AppleScript
スクリプトはそれぞれの環境に合わせて書き直さないときちんと動きません。
詳しくは同梱のsshfs-about.txtを読んで設定してみて下さい。簡単な記述なので、初心者の方でも大丈夫だと思います。っていうか上のコマンドをdo shell scriptにしただけです。(^_^;A
これをFinderのアプリケーションスクリプトとして登録してもいいし、Alfredなどのランチャーソフトで起動させてもいいかもしれません。自分はKeyboardMaestroというランチャーアプリに登録して、Finder上でF8キー(なんでもいいんですけど)でマウントできるようにしています。
あとがき
これで、例えば、接続先のファイル(例えばindex.htmlとか)をMacの中のエディタソフトで普通に開く事も出来ますし、色々と便利に使えるようになると思います。
本当はマウントポイントの設定が楽になるようなGUIでのosxfuseの設定アプリで「MacFusion」っていうのがあるのですが(下準備は変わらずやる事になりますが)、残念な事に現在のSierraには対応していないみたいです。
もしバージョンアップ等で現行OSにも対応してくれるようになったら、またその時は使い方を説明したいと思います。
今回はエックスサーバーさんでの設定例でしたが、もちろん他のサーバーさんとかでもSSH接続に対応している所なら、似たような感じでできると思います。
プロバイダさんのマニュアルをよく読んで、ぜひトライしてみて下さい。
SSH接続ができる所なら、今回のようにFinderにマウントできて、普通のファイルみたいに扱えるという事です!
最後にSSH接続をする時の設定などが書いてあるリンクを紹介します。
もし興味がわいたら、もっと詳しく説明されているので、読んでみて下さい。
SSH接続の基本(設定する事とかどこにファイルを置くか等)は同じなので、より理解が深まると思います。
- Macでsshfsを使ってローカルからリモートのファイルを触る
- SSHで鍵認証を用いて、パスワードなしでログインする方法
- SSHでパスワードなしにログインする方法のメモ
- ssh-keygenで鍵作成し、sshでログインできるようにする。
以上、今回は「osxfuseとsshfs」の紹介でした!
次回もターミナルに興味はあるけど、どうやって使っていいか分からない!って人向けの記事を書いてみたいと思います。
それでは!
Mac: ssh接続先をsshfsとosxfuseでマウントする
[…] 参考: SSH接続で接続先のファイルをFinderで使えるように! – よしなしブログ […]