はじめに
今回はMacのターミナルを使用して、秘密鍵でSSH接続する手順をまとめました。
一例として、エックスサーバーへリモート接続します。
手順は基本的に同じですので、サーバーへリモート接続する場合に参考にしてみてください。
エックスサーバーへの申し込みは以下からできます。
エックスサーバーの新規の申込方法は、以下の記事にまとめました。
WindowsでSSH接続する場合は、以下の記事を参考にしてください。
Macでサーバへのファイル転送については、以下の記事を参考にしてください。
他にも私のブログで、色々と解説している記事がありますのでご覧ください。
【紹介】個人開発
Mac向けの、定型文の挿入も可能なクリップボード履歴管理アプリです。
Windows版は以前からありましたが、基本的な使い方はMac版も同じですので、もしよかったらダウンロードしてみてください。
SSHとは
SSHは、安全な通信チャンネルを確立するためのプロトコルです。元々はリモートのマシンやサーバーに安全に接続するためのツールとして開発されました。
ファイルの転送やリモートコマンドの実行など、さまざまなタスクで使用されています。
エックスサーバーの設定
エックスサーバーはレンタルサーバーですが、SSH(Secure Shell)で接続しリモートでコマンドを実行したりすることができます。
SSHを有効にする
サーバーパネルを開きましょう。
SSH設定を開きます。
「ONにする」を選択し、「設定する」ボタンをクリックします。
公開鍵認証用鍵ペアの生成
エックスサーバーでSSHを利用するには、「公開鍵認証」が必要です。
(パスワード認証は不可)
「公開鍵認証用鍵ペアの生成」タブを開き、任意のパスフレーズを入力します。
「生成する」ボタンをクリックし、公開鍵認証用鍵ペアを生成します。
自動的に秘密鍵がダウンロードされます。([サーバーID].key)
SSH接続
接続
SSHでリモート接続できるクライアントソフトはいくつかありますが、今回はMacのターミナルを使用しました。
ユーザホームに、.sshディレクトリを作成します。
% mkdir ~/.ssh
ダウンロードした秘密鍵([サーバーID].key)を、.sshディレクトリに移動します。
ファイル名は、id_rsaでも良いですが、複数の秘密鍵を保存したい場合は、任意のファイル名を指定します。
% mv ~/Downloads/[サーバーID].key ~/.ssh/id_rsa_xserver
パーミッションを変更します。
% chmod 700 ~/.ssh
% chmod 600 ~/.ssh/id_rsa_xserver
xserverにSSHで接続します。
% ssh -l [サーバーID] -p 10022 -i ~/.ssh/id_rsa_xserver [ホスト名]
引数 | 説明 |
---|---|
-l | 接続するユーザー名を指定します。 (エックスサーバーの場合はサーバーID) |
-p | 接続するポートを指定します。 (エックスサーバーの場合は10022) |
-i | 秘密鍵のファイルパスを指定します。 |
ホスト名 | ホスト名は「サーバーID.xsrv.jp」か、サーバー番号を指定し「sv***.xserver.jp」でも可能です。 |
初回接続時は、finger printの確認が表示されますので、「yes」を入力します。
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?
一度接続すると以下のファイルが生成され、次回以降の接続時には確認が不要になります。
~/.ssh/known_hosts
パスフレーズが聞かれますが、入力後サーバーへ接続できます。
Enter passphrase for key '/Users/xxx/.ssh/id_rsa_xserver':
設定
毎回、先ほどのsshコマンドを指定するのは面倒ですので、configファイルを作成します。
サーバにSSH接続している場合は一度ログアウトし、クライアント側でコマンドを実行します。
% vi ~/.ssh/config
以下の内容を記述し、保存して閉じます。
Host xserver
HostName [ホスト名]
Port 10022
User [サーバーID]
IdentityFile ~/.ssh/id_rsa_xserver
以降は、以下のコマンドだけで接続できるようになります。
% ssh xserver
さいごに
今回は、MacからSSH接続の方法を解説しました。
是非、参考にしてみてください。
エックスサーバーへの申し込みは以下からできます。
他にも私のブログで、色々と解説している記事がありますのでご覧ください。
コメント
ありがとうございました。
ターミナルで、公開鍵、秘密鍵を使ったSSH接続が、シン・サーバーでもできることが確認できました。このサイトは永久保存ですね。
ただ、/.ssh/ がサーバ上にもあり、手元のMacにもあるので、混乱を生じました。
この記事通りに、サーバーにログインした状態で、viでconfigを作成すると、サーバー側の/.ssh/にconfigが作成されてしまいます。
ひとこと、サーバーからはログアウトして、ホームのディレクトリでconfigを作るんだよ、と教えていただければ、初心者には優しいかと思い僭越ながら、コメントさせていただきました。
コメントありがとうございました。
記事本文に追記致しました。