第5回 PuTTYでSSH2接続

  • PuTTYでSSH2接続(1)
    • Windowsマシンからリモートで操作したい!
    • PuTTYの入手とインストール
    • PuTTYでサーバにアセクスする(パスワード認証)
  • PuTTYでSSH2接続(2)
    • PuTTYでサーバにアセクスする(パスフレーズ認証)
    • パスフレーズ認証の設定
  • PuTTYでSSH2接続(3)
    • 後始末-SSHのセキュリティを高める
    • 役に立つサイト
  • PuTTYでSSH2接続(4)
    • [参考]sshd_configの内容(初期設定)

Windowsマシンからリモートで操作したい!

もしDebianサーバの他にWindowsが動くPCを持っていれば、ぜひWindowsマシンから遠隔操作できるように設定しましょう。

この設定をしておけば、何よりもサーバを管理するのに自分がサーバが置いてある部屋の中にいる必要がなくなります。インターネットに繋がったPCがあれば、外出先からでも自室にいるのと同じような感覚でサーバ管理が行えてしまいます。

なんだかこれは便利そう。

遠隔操作を行うのに使われる通信方式としてTelnet("てるねっと"と読みます)とSSH(こっちは"えすえすえいち"と読みます)と呼ばれるものがあります。

Telnetはこれまでネットワークを使う人間がみんな善人だった古き良き時代に使われました。しかしネットワークの世界に悪人がはびこる今日、Telnetは暗号化せずに通信を行うため、悪人に通信が傍受されてしまうとパスワードから何から何まで全てバレバレになってしまうという問題点があります。

Telnetで通信イメージ
fig 4.1 Telnetの通信イメージ(通信が傍受されると情報が筒抜けになってしまう)

一方それに対してSSH(Secure SHellの略)は暗号化して通信を行うので、もし悪人に通信が傍受されても通信内容がバレることはありません。

SSHで通信イメージ
fig 4.2 SSHの通信イメージ(通信は暗号化されるので安全)

(fig 4.1とfig 4.2を苦労して作った割にはあまり役に立ってないぞ)

Debian(sarge)はセキュリティ上の観点から初期設定ではTelnetは使えなくなっています。

ここではSSHの設定を行いWindowsからリモートで操作するまでの手順を紹介します。

PuTTYの入手とインストール

WindowsマシンからPuTTY(なんて読むんでしょう……)というソフトを使ってSSHでサーバを操作します。PuTTYは高機能にも関わらず無料で使えます。すばらしすぎ。

日本語化パッチをあてたPuTTYがあるので、「最新版ダウンロード-hdkの自作ソフトの紹介」から"PuTTY で ISO 2022 による日本語入力・表示を可能にするパッチ"を入手します。

日本語化PuTTYダウンロード
fig 4.3 executable filesをダウンロード(2005/11/23現在)

ダウンロードしたzipファイルを解凍し、中のファイルを適当なフォルダに置きます(ここではD:\Tools\puttyフォルダ以下に置きました)。

あとは実行ファイル(puttyjp.exe)をダブルクリックすればPuTTYが起動します。インストールいらず。簡単でしょう?

PuTTYでサーバにアセクスする(パスワード認証)

サーバのIPアドレスを知る

そう言えば、リモート(遠隔地)でアクセスするからにはサーバのIPアドレスを知らないといけません。Debianをインストールするときには自動的に設定してくれたので「そういえばIPアドレスっていくつだっけ……」とふと思ってします。

たいていはブロードバンドルータの設定を見ればわかりますが、サーバで以下のコマンドを入力すればわかります。

#ifconfig

すると次のような情報が出力されます。このうちeth0のinetアドレスの部分がサーバに割り振られたIPアドレスです。このサーバは192.168.1.7というIPアドレスが割り振られています。

ifconfig実行結果
fig 4.4 ifconfigの実行結果(赤枠の部分がサーバのIPアドレス)
PuTTYの設定

ほとんどありません。

puttyjp.exeをダブルクリックしてPuTTYを起動します(fig 4.5)。

PuTTY設定画面
fig 4.5 PuTTY設定画面

カテゴリから"セッション"を選択して(fig 4.5の(1)の部分)、ホスト名(またはIPアドレス)の欄(fig 4.5の(2)の部分)に先ほど調べたサーバのIPアドレスを設定します。

プロトコルとポートはそのまま(プロトコル:SSH、ポート:22)にしておきます。

最後に「開く」ボタン(fig 4.5の(3)の部分)を選択して接続します。

初めて接続するときに「このサーバを信用しますか?」という内容の警告ダイアログ(fig 4.6)が表示されますが、構わず「はい」を選択します。

警告ダイアログ
fig 4.6 警告ダイアログ

サーバのIPアドレスが合っていればコンソール(端末)画面が表示されます(fig 4.7)。

PuTTYのコンソール画面
fig 4.7 PuTTYのコンソール画面

コンソール(端末)では「login as:」とユーザ名の入力待ち状態になっていますので、ユーザ名"hoge"を入力します。

login as:hoge

続いてユーザ"hoge"のパスワードを聞かれますので、パスワード"hogehoge"を入力します。

Password:hogehoge

※入力したパスワードは画面には表示されません。

ユーザ名とパスワードが合っていれば、サーバでログインしたときと同じようにプロンプトが表示されます。ちなみにユーザ名とパスワードを入力するときから通信は暗号化されているので傍受されたとしても安心です。

ログイン成功
fig 4.8 ログイン成功(毎度おなじみの画面が表示されている)

特に設定もすることなく簡単にログインできました。いやぁ~楽チン、楽チン。

以降の操作は全部PuTTYを使ってWindows側から行うことにします。