自宅のMacから仕事用のサーバーに接続できるようにしました。
今回は、接続したいサーバーが複数あること、鍵方式で接続していること、この2点を解決する為に少々設定が必要だったので、その設定方法をメモしておきます。
設定の流れ
1.Macのターミナルを起動する
2.「id_rsa」ファイルをコピーして.sshフォルダに保存する
3.ホストの情報をconfigに設定
4.パーミッションの設定
5.サーバーに接続
1.Macのターミナルを起動する
まずはMacのターミナルを起動しておきます。
ちなみにアプリを起動するのに「Alfred」を活用してたりします。
2.「id_rsa」ファイルをコピーして.sshフォルダに保存する
既に作成してあった(他のパソコンから接続していたので) id_rsaファイルとid_rsa.pubファイルをデスクトップにコピーします。
接続するサーバーが複数ある場合、このid_rsaファイルが複数あると思いますので、それぞれファイル名を変更します。
id_rsa.****
id_rsa.pub.****
(****は任意の半角英数字)
これらのファイルを全て、 ホームフォルダにある「 ./ssh (不可視フォルダ)」に保存します。
「 ./ssh」は普通にFinderからアクセスすると見えません。
不可視フォルダを表示には、ターミナルからコマンドを入力して設定することができるのですが、今回は簡単に不可視フォルダの表示非表示が設定できる「ShowOrHide」というフリーソフトを使いました。
このフリーソフトを起動して、
「Show」をクリックするだけで、不可視フォルダ・ファイルが見えるようになります。
この状態で、デスクトップに保存してある「id_rsa.****」と「id_rsa.pub.****」を「.ssh」フォルダに移動します。
(移動した後はHideに戻しておくことをお勧めします)
3.ホストの情報をconfigに設定
次にターミナルでの作業にとりかかります。
ターミナルで次のコマンドを入力します。
$ cd .ssh
$ vi config
「vi」でconfigファイルを新規作成する画面になりますので、下記内容を入力します。
ちなみに下記は接続するサーバーが2つある(id_rsaファイルも2つ)場合での内容です。
Host **** ←任意の半角英数字(id_rsaと同じにした方が管理しやすい)
HostName ***.***.***.*** ←接続先サーバーのホスト名もしくはIPアドレス
Port ** ←接続先のポート
IdentityFile ~/.ssh/id_rsa.**** ←使用する鍵ファイルを指定
User **** ←接続先サーバーでのユーザー名
Host ○○○○
HostName ○○○.○○○.○○○.○○○
Port ○○
IdentityFile ~/.ssh/id_rsa.○○○○
User ○○○○
入力したら保存して「vi」を終了します。
「 vi」の操作方法についての詳しくはググって調べてほしいのですが、
x カーソル直前の文字を削除
i インサートモード(編集モード)
ESC インサートモード終了
:q! 編集を破棄して強制終了
:wq ファイルに保存してviを終了
よく使うのはザックリこんなコマンドです。
4.パーミッションの設定
続いてパーミッションを変更します。
ターミナルで次のコマンドを入力します。
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/id_rsa.**** ←使用するファイルの数だけコマンド入力
保存先のフォルダのパーミッションを700、保存したid_rsaファイルのパーミッションを600に、それぞれ設定します。
パーミッション700(rwx——は、自分には全ての実行権が許可されるが、自分以外のグループや他人には何も許可しない、という意味です。
パーミッション600(rwx——は、自分は呼出と書込はできるが実行はできない、、自分以外のグループや他人には何も許可しない、という意味です。
5.サーバーに接続
これで準備は完了です。
ターミナルから下記コマンドを入力してサーバーに接続します。
$ ssh **** ←ホスト名
さくらVPSに接続されます。
接続ユーザーは「config」で設定したユーザーです。
初めて接続した時はパスワードを聞いてくるので、接続ユーザーのパスワードを入力して下さい。
まとめ
仕事用とプライベート用、自分用とお客様用など、複数のサーバーに接続してる人は多いのではないでしょうか。
Windowsの「TeraTerm」だと複数サーバーへの接続は簡単にできるのですが、いざMacの「ターミナル」から接続しようと思った時に「???」となったので、いろいろと調べつつ試しつつ実現してみました。