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」を起動します。
起動後は、「SSH-2 RSA」が選択されている事、必要に応じて鍵のビット数を変更し、「生成」ボタンを押す。
マウスを適当に動かして乱数を生成。
「OpenSSHのauthorized_keysファイルにペーストするための公開鍵」のテキストエリアの中にある内容をテキストエディタを開いてコピー&ペーストし、「id_rsa.pub」という名前でファイルに保存しておきます。(このファイルはサーバ側に送る必要あり)
また、「鍵のパスフレーズ(A):」と「パスフレーズの確認:」へパスフレーズを入力し「秘密鍵の保存」を行います。
このファイルがPuTTYでSSH serverにアクセスするために必要になります。
公開鍵の登録
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がアクセスするためのポートを開きます。
PuTTYからSSH経由でVNCを使う
PuTTYでのSSH接続テスト
SSH経由でVNCを使う前に、まずは単純にSSH接続が成功するか確認します。
まずは、PuTTYの起動。
続いて「ホスト名 (またはIPアドレス)」にサーバのIPを入力。SSHが選択されていることを確認。
最後に「開く」をクリックします。
最初の1回目は上記のようなポップアップが出てくるので「はい」を選択。
続いて、login画面。まずは、ユーザー名を入力します。
※ここでいうユーザー名はauthorized_keysファイルを作ったユーザーの事です。
今度はパスワード入力画面。注意) ここで入力するパスワードはRSA暗号鍵作成で入力したパスワード(パスフレーズ)ではなくlinuxユーザーのパスワードです。
パスワードも問題なく入力できればターミナルにログインできます。※何も設定していないため文字化けしていますが・・・
で、接続の確認ができればいよいよ本番です。
PuTTYによるフォワーディング設定(トンネリング)
PuTTYを開きます。
①② 左にある「カテゴリ」欄から「接続」>「SSH」>「トンネル」を選択。
③ 「源ポート」に適当なポート番号を入力。(私は5900を設定)
④ 送り先に本来接続する予定のアドレス(IP)とポートを指定します。例: 192.168.1.10:5902
⑤ ローカルと自動が設定されていることを確認。
⑥ 「追加」ボタンをクリック。
すると、以下のような状態になります。
これで、フォワーディングの設定は完了です。
次は、実際に接続。
セッションの作成とVNC Clientからの接続
① 「セッション」を選択。
② 「ホスト名(IPアドレス)」を入力。
— ここで開いてもOKです。 —
③ 毎回、同じ設定を入力するのは面倒なのでセッションを保存しましょう。
「セッション一覧」の下のテキスト入力欄に適当な設定名を入力。④ 「保存」をクリック。
上記のように、リストに追加されていればOK。
以後、セッションを作るときは、この追加された項目をダブルクリックでターミナルへのログイン画面が開きます。ユーザー名とパスワードを入力してログインしてください。
上記のようにログインしていればOK (念のため:「ls」は実行しなくても良いですよ)
次はVNCクライアントからの接続です。
サーバにはPuTTYのフォワード設定で源ポートを5900にしていた場合「127.0.0.1:5900」もしくは「localhost:5900」に接続を行います。あとは、パスワードを入力すると・・・
無事にSSH経由でVNCを使えるようになります。
なお、当たり前ですがPuTTYのセッションの接続を終了するとVNCの接続も切れます。
(おまけ) SSH接続後のターミナルの文字化けを解消する
① 「カテゴリ」>「ウィンドウ」>「変換」を選択。
② 「文字コードの設定」でCentOS 6の場合は「UTF-8/Auto-Detect Japanese」を選択。
ログインすると上記のように文字化け解消。
トラックバック & ピンバック