Linux端末

Ubuntu端末からUbuntuサーバへSSH接続〜秘密鍵を使用する〜

新たにインストールしたUbuntu14.10端末から実家のUbuntu14.04サーバへSSH接続できる環境を整えましたので備忘録代わりに書き残しておきます。

 

まずは鍵を準備する

Windows端末からSSHサーバにログインする方法は以前の記事で書かせてもらいました。

 

Ubuntu14.04にSSHサーバを導入する

 

このページでSSHサーバの構築と端末側の設定について書いたんですが、端末をUbuntuに変更したため鍵も新たに作りなおすことにします。

 

端末(terminal)を起動させ、以下のコマンドで鍵を作成しましょう。

 

↓ディレクトリを事前に作成しておきます。
mkdir ./.ssh
↓鍵を作成する
ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/$HOME/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): //パスワードを入力(空白も可)
Enter same passphrase again: //パスワードを繰り返し入力(空白も可)
Your identification has been saved in /$HOME/.ssh/id_rsa.
Your public key has been saved in /$HOME/.ssh/id_rsa.pub.
The key fingerprint is:
〇〇:〇〇:〇〇:〇〇:〇〇:〇〇〇〇 ユーザ名@端末のホスト名
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
+-----------------+

 

「ssh-keygen」とコマンドを入力したらあとは鍵を開くためのパスワードを二回入力するだけ。ここを空白にしておくと、鍵を使う際にパスワードを入力せずに済むんですが、セキュリティ的には決してよろしくないと私は思います。

 

作成される鍵は「id_rsa.pub」と「id_rsa」の2本。id_rsa.pubがサーバ側に設置する公開鍵でid_rsaはクライアントが保持する秘密鍵となります。公開鍵はサーバへ転送してやりましょう。

 

※実はこれが結構めんどくさかったんです。

 

初めて使うサーバであればFTPか何かで鍵ごと所定のディレクトリへ放り込めばいいんですが、自分の場合既存の公開鍵があるため上書きで消すわけにいかなかったんです。ということは新しい公開鍵の内容をサーバ上のauthorized_keysに追記する必要があるのですが、かといってまだ端末からSSH接続ができるわけではないのでそれもままなりません。

 

ということで一度SSH接続できる端末(今回はiPad miniを使用)に公開鍵をメールで飛ばして中身をコピー、iPadからSSH接続してauthorized_keysに追記…という手順を踏みました。

 

紆余曲折を経て鍵の準備ができましたのでいよいよサーバへ接続してみます。

 

端末からsshコマンドでサーバに接続

クライアント上で端末を起動して以下のコマンドを入力します。

 

ssh サーバのユーザ名@サーバのホスト名

 

鍵のパスワードを聞かれますので作成時に入力したパスワードを叩けばサーバに接続出来ました。

 

Windowsの時は別にクライアント用ソフトをインストールして使用していましたが、鍵の設定だけできれば他になにも要らないのでこちらのほうが作業しやすいように思います。

 

まとめ

今回の内容は過去に作業した内容と大差ないものでしたのでそこまで時間もかからず完了させることが出来ました。

 

  1. 「ssh-keygen」コマンドで秘密鍵/公開鍵のペアを作成
  2. 公開鍵をサーバへアップロード
  3. クライアントの端末を起動させてsshコマンドで接続完了

 

というシンプルなもの。サーバの構築に比べたらなんてことないですね。

オススメの記事

-Linux端末
-, ,