MacのターミナルからレンタルサーバーMixhostにSSH接続する方法を説明します。
MixhostでのSSH接続は公開鍵認証を使います。
設定さえ済ませてしまえば、以下のようなコード一行で簡単にサーバーにSSH接続ができます。
$ ssh mix
目次
SSH(Secure Shell)とは?
暗号化されたネットワークを経由してサーバーのログイン、コマンドの実行、ファイルの転送などを行う通信方法です。
ようするに安全にデータ転送が行えます。
なぜSSH接続を使うのか?
レンタルサーバーを使っている方がサーバーをデータをやりとりするとき、
FTPソフトを使うケースが多いと思います。
例えば、サーバー上のデータをバックアップしたいとき、
SSH接続後、サーバー上でファイルを圧縮しダウンロードできます。
- サーバーへSSH接続
- サーバー上のファイルを圧縮
- 圧縮したファイルをダウンロード
FTPソフトなどで圧縮しないファイルのまま扱うのに比べ、圧倒的に早く転送ができます。
ただし、事前設定の方法といわゆる「黒い画面」でコマンド操作は覚える必要があります。
設定の流れ
大まかに流れで設定します。
- Mixhost上で、秘密鍵と公開鍵を作成する
- 秘密鍵をダウンロードする
- ターミナルから、「.ssh」フォルダを作成し、秘密鍵を格納する。パーミッションの変更
- ターミナルからサーバーへSSH接続
MixhostでSSH接続は公開鍵認証を使う
MixhostでSSH接続するには、公開鍵認証を使う必要があります。
サーバーと安全に通信を行うために必要な認証方式です。
公開鍵認証の仕組みついて詳しくは、「公開鍵認証とは?」を確認してください。
Mixhostで公開鍵と秘密鍵を作成しダウンロードする
まず、Mixhostにて、公開鍵と秘密鍵を作成しダウンロードします。
cPanelにログイン
メールアドレス、パスワードを入力しログインします。
SSHアクセスキーの設定
SSHの設定を行います。セキュリティ>SSHアクセスをクリックします。
公開鍵の作成
「「パスワード生成」をクリックし、チェックを入れ、「パスワードの使用」をクリックします。
キー”キー名”が認可されました。と表示される事を確認し、「戻る」をクリックします。
認証ステータスが「authorized」になっていることが確認できました。
これで、公開キー(公開鍵)の設定の完了しました。
秘密鍵のダウンロード
次に秘密鍵をダウンロードします。
秘密キーの「表示/ ダウンロード」をクリックし秘密キーをダウンロードします。
ローカルパソコンに「id_rsa」がダウンロードされました。
これが「秘密鍵」です。
フォルダ作成、ファイルの移動、パーミッションの変更
次に「.ssh」フォルダ作成、ファイルの移動、パーミッションの変更を行います。
- 「.ssh」フォルダ:パーミッションを700に設定
- 「.ssh」フォルダ内に「id_rsa」を配置するパーミッションを600に設定
「.ssh」はFinderからは見えないフォルダです。
そのため、作成はターミナルから行います。
ターミナルの場所(アプリケーション➔ユーティリティ)
「mkdir」コマンドでホームディレクトリに「.ssh」フォルダを作成します。
▼mkdir(フォルダ作成のコマンド
$ mkdir ~/.ssh
▼作成フォルダ内に「id_rsa(秘密鍵)」ファイルを移動させます。
$ mv id_rsa ~/.ssh/id_rsa
#mv [移動元ファイル] [移動元]
▼「.ssh」フォルダのパーミッション(権限)を700に設定します。
$ chmod 700 ~/.ssh
▼「id_rsa」ファイルのパーミッション(権限)を600に設定します。
$ chmod 600 ~/.ssh/id_rsa
これで、「.ssh」フォルダ作成、ファイルの移動、パーミッションの変更設定は完了です。
ここまでの手順で、ローカルパソコンには秘密鍵(id_rsa)あり、サーバーには「公開鍵」が設置された状態になりました。
不可視ファイル・フォルダを表示するには?
「.ssh」フォルダは、通常Finderから見ることはできません。もし、Finderから確認したい場合、コマンド操作で表示させることができます。
詳細:Mac で不可視ファイル(隠しファイル)を表示するには?
MixHostの接続情報(ユーザー名、ホスト名)の確認
SSH接続のためには、ユーザー名、ホスト名が必要です。Mixhostでは以下の方法で確認できます。
- メールから確認
- MixHostの管理画面からメール確認
メールから確認
件名「【MixHost】 サーバーアカウント設定完了のお知らせ」というメールに記載されています。
「【MixHost】 サーバーアカウント設定完了のお知らせ」があるので中野「FTP接続情報」を参照してください。
MixHostの管理画面からメール確認
- MixHostの管理画面からも確認ができます。mixhostのマイページにログインし「マイメニュー」から「メール履歴」を選択します。
- 件名「サーバーアカウントの設定完了のお知らせ」を探し「メッセージを表示」をクリックします。
- 「FTP接続情報」の「FTPSホスト名」と「ユーザー名」を確認します。
ターミナルからSSH接続する手順
では、ターミナルをつかって実際にMixhostにSSH接続しサーバーに入ってみます。
1.ターミナルを開く
2.SSH接続コマンドを実行します。
先程確認した情報を元に、ssh [ユーザー名]@[FTPSホスト名] と入力して Enter キーをします。
$ ssh user@host
3.はじめて接続するときは、以下が表示されるので、「yes」と入力しエンターキーを押します。
$ssh user@host
The authenticity of host 'hoge.mixhost.jp (111.111.111.111)' can't be established.
ECDSA key fingerprint is SHA256:mv6A.
Are you sure you want to continue connecting (yes/no)?
3.パスフレーズを入力しエンターキー押します。
iMac27:.ssh User$ ssh mixhost Enterpassphrase for key '/Users/user/.ssh/id_rsa':パスフレーズを入力
4.SSH接続できました。
SSH接続できるとコマンド画面の部分が以下に変わります。
サーバーの中に入っいる状態です。
[ユーザー名@jp9 ~]$
サーバーの中のファイルを確認するには、lsコマンドを実行します。
$ ls
すると、サーバー内のフォルダ一覧が表示されます。
SSH接続からログアウトするには、exitコマンドを使います。
$ exit
ssh 接続を簡単にするには?
通常の接続方法の場合、ユーザー名、ホスト名、パスフレーズを入力しなければいけません。
「ssh/config」 でファイルを用意すれば、簡単に接続できます。
例えば、以下コマンドの入力接続できるよう設定できます。
$ ssh mix
ssh/configとは?
ssh/configとは、リモートサーバーに接続する際に必要な設定ファイルです。
SSH接続時の情報を設定しておくことで、sshコマンドのオプションを省略できます。
「~/.ssh/config」の設定
「~/.ssh/config」ファイルを作成します。以下コマンドを実行します。
$ vim ~/.ssh/config
テキストエディター「vim」で設定ファイルが開きますので、以下のように編集します。
「vim」とはターミナル上で利用できるメモ帳のことです。
半角英数で「i」キーをおし(ノーマルモード➔インサートモード)へ切り替えます。
「Host」の後の名称は自由に設定できます。
覚えやすく短い名称にしましょう。
今回は接続先がmixhostですので、例として「mix」とします。
# mixhost
Host [任意の名称]
HostName [ホスト名]
Port 22
User [ユーザー名]
IdentityFile ~/.ssh/id_rsa
「esc」キーか、「Control+C」をおし、(インサートモード➔ノーマルモード)へ切り替えます。
「:WQ」で保存して終了します。
サーバーにSSHできるか確かめる
以下のコマンド実行し、パスフレーズを入力すると、SSH接続できます。
「mix」の部分は先程のHostの後に設定した個所です。
$ ssh mix
これで、ユーザー名、ホスト名の入力が簡略化できました。
ssh接続のパスフレーズ入力を省略するには?
上記の方法でも簡単になりましたが、まだパスフレーズの入力が面倒です。
さらに簡単にするために、パスフレーズの入力を省略する設定方法を説明します。
それには、ssh-agent(認証エージェント)を使います。
SSH agentとは?
SSH agent とはSSHの秘密鍵を保持して、
SSHクライアントの依頼に応じて秘密鍵の処理を行うためのプログラムです
ssh-agentに鍵の登録の設定
2.ターミナルを開き、ssh-agent を起動させるコマンドを実行します。
$ ssh-agent bash
起動すると、「bash-3.2$」という表記に変わります。
bash-3.2$
3.ssh-agentに鍵の登録
$ ssh-add -k ~/.ssh/id_rsa
4.パスフレーズを入力してください。
Enter passphrase for /Users/user/.ssh/id_rsa:パスフレーズ
5.以上で設定は完了です。
ssh-agentに登録された鍵の確認
登録した鍵の確認するには以下コマンドを使います。
$ ssh-add -l
パスフレーズ無しでSSH接続できるか確認する
パスフレーズ無しでサーバーにSSH接続できる確認してみましょう。
$ ssh mix
「Enter passphrase for /Users/user/.ssh/id_rsa:」が表示されずに、パスフレーズ入力無しで、
サーバーに入れば設定成功です。
まとめ
MacのターミナルからMixhostにSSH接続する方法を解説しました。
- Mixhost上で、秘密鍵と公開鍵を作成する
- 秘密鍵をダウンロードする
- ターミナルから、「.ssh」フォルダを作成し、秘密鍵を格納する。パーミッションの変更を行う。
- ターミナルからサーバーへSSH接続
FTPファイル転送でうまくいかなときや、レンタルサーバーの引っ越しなど大量のデータのデータを転送するときにはぜひ活用しましょう。
コメントを残す