SSH経由(公開鍵)でvnc serverを使う

| SSH, VNC

vnc serverの設定が終われば、今度はSSH経由で少しでもセキュアな通信ができるように設定をします。

なお、アクセス元はWindowsのPCです。

スポンサードリンク

SSHサーバのインストール

インストールはいつも通りのコマンドで。

# yum install opnessh-server

SSHサーバの設定

設定には以下のファイルを編集します

# vi /etc/ssh/sshd_config

追加する設定は以下の通り

Protocol 2
...(略)...
#PermitRootLogin yes
PermitRootLogin no
...(略)...
#PasswordAuthentication yes
PasswordAuthentication no

かなり省略していますが、以下のような設定を行っています。

Protocol 2: デフォルトのまま。バージョン2を使う設定です。
PermitRootLogin no: rootユーザによるログインを許可しない。
PasswordAuthentication no: 公開鍵認証だけを有効にする。

RSA暗号の鍵セットの作成(Windows)

PuTTYというクライアントソフトを使います。

インストールはこちらから。

インストールが完了したらスタートメニューから「すべてのプログラム」>「PuTTYごった煮版」>「PuTTYgen」を起動します。

screen_shot_putty_001

起動後は、「SSH-2 RSA」が選択されている事、必要に応じて鍵のビット数を変更し、「生成」ボタンを押す。

screen_shot_putty_002

マウスを適当に動かして乱数を生成。

screen_shot_putty_003

「OpenSSHのauthorized_keysファイルにペーストするための公開鍵」のテキストエリアの中にある内容をテキストエディタを開いてコピー&ペーストし、「id_rsa.pub」という名前でファイルに保存しておきます。(このファイルはサーバ側に送る必要あり)

また、「鍵のパスフレーズ(A):」と「パスフレーズの確認:」へパスフレーズを入力し「秘密鍵の保存」を行います。

このファイルがPuTTYでSSH serverにアクセスするために必要になります。

screen_shot_putty_004

公開鍵の登録

RSA暗号の鍵セットの作成で作った公開鍵ファイルをSSHサーバに登録します。

PuTTYgenで生成したファイルをサーバへ持っていきましょう。

なお、コピー先のパスは「~/.ssh/id_rsa.pub」になるようにしてください。

OpenSSHは「authorized_keys」というファイルに鍵情報を保存します。最初はファイルが存在しないため自分でファイルを作ります。

$ cd ~/.ssh/
$ cat id_rsa.pub >> authorized_keys

これで、authorized_keysというファイルが作られます。

ちなみに「cat」は猫じゃないよ。ファイルの内容を表示するコマンドです。
「cat id_rsa.pub」でid_rsa.pubの内容を表示する。という意味になり、「>>」でauthorized_keysというファイルに追記(ファイルが無ければ新規作成)してくださいというコマンドになる。

Windowsから持ってきたid_rsa.pubは削除してもOKです。

ファイアーウォールの設定

SSHがアクセスするためのポートを開きます。

ssh_vnc_01

ssh_vnc_02

PuTTYからSSH経由でVNCを使う

PuTTYでのSSH接続テスト

SSH経由でVNCを使う前に、まずは単純にSSH接続が成功するか確認します。

screen_shot_putty_005

まずは、PuTTYの起動。

screen_shot_putty_006

続いて「ホスト名 (またはIPアドレス)」にサーバのIPを入力。SSHが選択されていることを確認。
最後に「開く」をクリックします。

screen_shot_putty_007

最初の1回目は上記のようなポップアップが出てくるので「はい」を選択。

screen_shot_putty_008

続いて、login画面。まずは、ユーザー名を入力します。
※ここでいうユーザー名はauthorized_keysファイルを作ったユーザーの事です。

screen_shot_putty_009

今度はパスワード入力画面。注意) ここで入力するパスワードはRSA暗号鍵作成で入力したパスワード(パスフレーズ)ではなくlinuxユーザーのパスワードです。

screen_shot_putty_010

パスワードも問題なく入力できればターミナルにログインできます。※何も設定していないため文字化けしていますが・・・

で、接続の確認ができればいよいよ本番です。

PuTTYによるフォワーディング設定(トンネリング)

screen_shot_putty_005

PuTTYを開きます。

screen_shot_putty_011

①② 左にある「カテゴリ」欄から「接続」>「SSH」>「トンネル」を選択。
③ 「源ポート」に適当なポート番号を入力。(私は5900を設定)
④ 送り先に本来接続する予定のアドレス(IP)とポートを指定します。例: 192.168.1.10:5902
⑤ ローカルと自動が設定されていることを確認。
⑥ 「追加」ボタンをクリック。

すると、以下のような状態になります。

screen_shot_putty_012

これで、フォワーディングの設定は完了です。

次は、実際に接続。

セッションの作成とVNC Clientからの接続

screen_shot_putty_014

① 「セッション」を選択。
② 「ホスト名(IPアドレス)」を入力。
— ここで開いてもOKです。 —
③ 毎回、同じ設定を入力するのは面倒なのでセッションを保存しましょう。
「セッション一覧」の下のテキスト入力欄に適当な設定名を入力。④ 「保存」をクリック。

screen_shot_putty_015

上記のように、リストに追加されていればOK。
以後、セッションを作るときは、この追加された項目をダブルクリックでターミナルへのログイン画面が開きます。ユーザー名とパスワードを入力してログインしてください。

screen_shot_putty_010

上記のようにログインしていればOK (念のため:「ls」は実行しなくても良いですよ)

次はVNCクライアントからの接続です。

screen_shot_putty_017

サーバにはPuTTYのフォワード設定で源ポートを5900にしていた場合「127.0.0.1:5900」もしくは「localhost:5900」に接続を行います。あとは、パスワードを入力すると・・・

screen_shot_putty_018

無事にSSH経由でVNCを使えるようになります。

なお、当たり前ですがPuTTYのセッションの接続を終了するとVNCの接続も切れます。

(おまけ) SSH接続後のターミナルの文字化けを解消する

screen_shot_putty_013

① 「カテゴリ」>「ウィンドウ」>「変換」を選択。
② 「文字コードの設定」でCentOS 6の場合は「UTF-8/Auto-Detect Japanese」を選択。

screen_shot_putty_016

ログインすると上記のように文字化け解消。

トラックバック

トラックバックURL:

トラックバック & ピンバック

コメントはまだありません。

作ったもの

種牡馬メモサイト

フリーダムウォーズ素材メモサイト

月別アーカイブ

つぶやき

更新記録カレンダー

2019年11月
« 1月    
 123
45678910
11121314151617
18192021222324
252627282930  

参考書籍

XHTML/HTML+CSSスーパーレシピブックXHTML/HTML+CSSスーパーレシピブック
エ・ビスコム・テック・ラボ

毎日コミュニケーションズ
売り上げランキング : 74419

Amazonで詳しく見る
現場のプロから学ぶXHTML+CSS現場のプロから学ぶXHTML+CSS
益子 貴寛,堀内 敬子,小林 信次,千貫 りこ,伊藤 学,山田 あかね,西畑 一馬,CSS Nite

毎日コミュニケーションズ
売り上げランキング : 39400

Amazonで詳しく見る