mixhostにターミナルからSSH接続する方法を画像付きで紹介していきます。
流れは以下
- mixhostで秘密鍵と公開鍵を生成する
- 秘密鍵をダウンロードする
- ターミナルで.sshフォルダを作成して秘密鍵を入れる
- configファイルを設定する
- ssh-agentを設定する
mixhostでの作業
サービスを選択
アクションのとこからcPanelにログイン
セキュリティのとこの「SSHアクセス」をクリック
「キーの管理」をクリック
「新しいキーの生成」をクリック
Key Name:好き名前(デフォルトはid_rsa) パスワード:お好きなパスワード(パスワード生成もできます) キーの種類:そのまま キーサイズ:そのまま
*パスワードは安全な場所に控えておいてください。
「キーの生成」をクリックするとキーの生成が完了します。
下の「戻る」ボタンで戻ると「認証ステータス」は「not authorized」になっているかと思います。
右の「管理」をクリックします
すると以下の画面になるので「Authorize」をクリックします
するとキーが認可されます
再び「戻る」ボタンで戻ると公開キーが「authorized」になっているかと思います。
これで公開キーの準備は完了です。
ここから秘密鍵をダウンロードします。
「キーのダウンロード」をクリック
これでmixhost側の作業は終わりです。
PC上での作業
ターミナルから、.sshのフォルダを作っていきます。
すでにお使いのPC上に.sshがあるかどうか以下のコマンドで確かめてください。
ls -a
なければ.sshフォルダを作る
mkdir ~/.ssh
ダウンロードした秘密鍵をファイルに移動させる
mv ダウンロードしたキーファイル名 ~/.ssh/
mvの使い方: mv 移動するファイル 移動先 mv original-file .ssh/renamed-file *この場合、ファイルの移動とリネームがされrenamed-fileというファイル名になる
.sshフォルダのパーミッションを700にします。
chmod 700 ~/.ssh
「キーファイル」のパーミッションを600にします。
chmod 600 ~/.ssh/キーファイル名
これでローカルには「秘密鍵」があり、サーバーには「公開鍵」がある状態になりました。
次にconfigファイルの設定をします。
configファイルにはホスト名・ユーザー名が必要なのでmixhostに契約時に送られてくるメールから確認してください。
マイメニューのメール履歴からも確認できます。
FTPSホスト名とユーザー名を使います
ターミナルの.sshフォルダ内に戻ります。
以下で.sshフォルダ内にconfigファイルを作っていきます。
vim ~/.ssh/config
vimのコマンドについてはこちらの記事(Qiita)にまとめてありました。
vimのエディタが開かれたら、iで編集開始(インサートモード)です。
Host わかりやすい名前
HostName FTPSホスト名
User ユーザー名
Port 22
IdentityFile ~/.ssh/キーファイルの名前
escで編集モード終了して:wqでvimを終了します。
configでつけた名前でssh接続できるか確認します。
ssh 先ほどのわかりやすい名前
すると、
Are you sure you want to continue connecting (yes/no)?
と聞かれるので「yes」と入力しエンター
パスフレーズを聞かれるので、キーを生成した時に設定したパスワードを入力
Authentification failedやエラーが出ないと接続成功です。
exitもしくはlogoutで接続を解除できます。
いちいちパスフレーズを入力したくない時
ssh-agentを使う
ssh-agentについて詳しくはこちらの記事を参考にしてみてください
やることは2つ
- ssh-agentを起動
- ssh-addでキーを追加
以上です。
ではやってみましょう〜
ssh-agent bash
すると、bash-3.2$と表示されます。
ssh-add -k ~/.ssh/キーファイル名
すると
Enter passphrase for キーファイルの場所
パスフレーズを入れろと言われるので入れます
入力しエンターすると
Identity added: キーファイルの場所
これが表示されてるとIDが追加が完了です
以下のコマンドで確認してみます。
ssh-add -l
パスフレーズなしで接続できるか確認してみてください
ssh configでつけたHOSTの名前
以上です。