【デジタル】LOGGLYを稼働させるために、SSH接続を整える(Mac) 前編
こんばんは!今日は、ずっとPythonで色々LOGを加工したりしてたんですがらちが開かず。space区切りのファイルをCSV加工するためのコード走らせたり色々してたんですがだんだん面倒になってきたという所。ということで、ツールに頼った方がいいなという感じで放置していたLOGGLYのアカウント経由でまずはLite版でアクセスログ分析してみようと。その前段階の作業として、うちのMac Book AirからX-ServerにSSH接続してみることにしました。
【1】Server PanelのSSH設定を「ON」にする
![](https://i1.wp.com/www.kluv-depth.com/n-mono/wp-content/uploads/2020/05/スクリーンショット-2020-05-03-21.47.02-1.png?fit=800%2C419&ssl=1)
【2】SSH設定の「公開鍵認証用鍵ペアの生成」でパスフレーズを入力して確認画面へ進む。問題なければ「生成する」を押して鍵を作成。
![](https://i2.wp.com/www.kluv-depth.com/n-mono/wp-content/uploads/2020/05/スクリーンショット-2020-05-03-21.51.50.png?fit=800%2C396&ssl=1)
まず、SSH接続のための鍵ペア作成についてはここまでで完了です。念のため、ダウンロードフォルダの中に鍵があるか確認してください。ファイル名は、「自分が契約しているサーバーid名.key(例えば、mokemoke というサーバー名であれば、「mokemoke.key」)」という名前になっています。
【3】.sshディレクトリの作成
![](https://i0.wp.com/www.kluv-depth.com/n-mono/wp-content/uploads/2020/05/スクリーンショット-2020-05-04-11.41.37.png?fit=800%2C472&ssl=1)
コーディングやらない人にはあまり馴染みがないと思うのですが、表面上MacはGUIで触ることが殆どなので「直感的に触れること」をメリットとして使うことが多いです。が、実際裏側ではLinuxコマンドで動いている感じです。その裏側に直接働きかけて動かすためのツールが、「ターミナル」です。補足ですが、ターミナルはあくまで表示ツールであって演算処理をしているツールではありません。この項目で実施する作業は、GUI上で実施する作業ではないため、「ターミナル」を使って実施することになります。この「ターミナル」ですが、慣れると色々やれることがあって楽しいのですが、その話はまた別の回に。
mkdir ~/.ssh
まずは、先ほど生成した鍵を格納する場所が必要なためコマンドを打ち込んでディレクトリーの生成を実施します。「mkdir 」はなんとなく想像がつくと思いますが、make directoryの略でそのまんま「新規ディレクトリーを作成する」コマンドです。既にこのディレクトリーを作成している方はいらない作業ですが、まだという方は、これを「$」の後に入力して実行(リターンを押せばいいよ)してください。出来たか心配だという方は、下記のコマンドを次に入力してください。
ls -ld .ssh
これを入力して、下記のような答えが戻ってくればフォルダは生成されています。一応ここも補足しておきますが、「ls」はlistの略で、「-l」は詳細情報「-d」はディレクトリーそのものの情報を示します。「-ld」とすることで「ディレクトリーそのものの詳細情報を表示してほしい」という指定になる感じです。
drw------- 3 hogehoge staff 96 5 3 20:04 .ssh
ちなみに、ディレクトリーをただ作成しただけだと権限付与されてない状態でアクセスできないと思うので下記項目を打ち込んでください。
chmod 700 ~/.ssh/
ちなみにですが、「chmod」はchange modeの略でファイルやディレクトリーのアクセス権変更用のコマンドです。一応もう一個補足しておくと、ここの「700」と書いている数字がいわゆるアクセス権限です。
r | 4 | 読出可能 |
---|---|---|
w | 2 | 書込可能 |
x | 1 | 実行可能(ディレクトリでは探索可能) |
– | 0 | 許可なし |
この組み合わせで構成されており、7は「読み出し可能」「書き込み可能」「実行可能」の積み上げ。この辺は、CGI設定などをやったことがある人は特に問題なく理解できると思いますがやったことないと「何これ?」って感じですよね。3つの数字は左から「本人」、「グループ」、「その他の人」の順で今回の鍵については外部アクセス者に権限を渡す理由がないため左のみ権限付与で真ん中と右は「0」に設定します。
【4】ダウンロードした鍵を、.sshディレクトリーに移動する
箱の準備ができたので、次のステップとして生成した鍵を先ほど作ったディレクトリーに移動します。
mv ~/Downloads/mokemoke.key ~/.ssh/
毎度細かく書きますが、「mv」はmoveの略。単純に移動ですね。このmvですが、ちょっと取扱注意で実行時にオプションをつけた結果としてリネームしたり上書きしたり出来るので丁寧に実行しましょう。今回は、単なる移動なのでオプションは付けていません。ちなみに、確認すると生成された鍵ファイル権限は644(rw,r,r)となっていたので念のため600に変更しておいた方がいいかなぁと思います。念のため書いておきますがここで「mokemoke」としているのは仮の名前でここにはそれぞれの皆さんが契約しているサーバーの「サーバーID」が入ると理解してください。
chmod 600 ~/.ssh/mokemoke.key
変更ご心配であれば、lsコマンドで確認してください。エラーメッセージが帰ってきていなければ大丈夫だとは思いますけどw
【5】公開鍵のファイル名を変更する
環境構築に関しては、ここが最後。ディレクトリーに鍵を収め認証に関する設定も終わったので話やりやすい形にリネームします。
cd ~/.ssh/
まずは、ターミナルの作業スペースを.sshディレクトリーに移動します。「cd」は「chdir」というコマンドの略で、change directionの略です。略して作ったコマンドを、さらに略しているっていう所w。ただ、さっきターミナルでchdirを打ち込んだら「bash: chdir: command not found」って出てきたのでターミナルのbashでは「chdir」は使えないみたいですね。なんにせよ、このコードで作業スペースを移動するということで今回のコードでトップのから.sshディレクトリーに移動します。
mv mokemoke.key mokemoke_xserver_rsa
「mv」については、過去も出てきたので割愛しますが、その際にも記載しましたが上記の方法で「mokemoke.key」というファイル名を「mokemoke_xserver_rsa」に上書きすることができます。
ということで、ここまででSSHの環境構築はひとまず完了です。
ちなみに、この後パーミッション関連の「Permission denied (publickey,gssapi-keyex,gssapi-with-mic).」のトラブルなどが発生してやっと解決したのですが次の回に書きます。