Windows環境から経済学部ホストへSSH version2で接続する手順

経済学部の主要なホストはFreeBSD,LinuxをはじめとしたUnix系OSによって運用されています。 Windowsマシンからこれらのホストにログインして操作するためには、Windows上で動作するSSH(Secure SHell)ソフトウェアが必要となります。 特に学外からのリモートログインは、SSH version 2の「公開鍵暗号」(後述)をつかった接続に制限しています。 以下ではWindowsマシンよりSSH version 2で経済学部のUnix系ホストに接続するまでの方法と手順について説明します。

1. なぜ経済学部ではssh2を使うのか

ホストへのログインの方法は、これまで長い間telnetが使われてきました。 telnetは離れたところにあるホストにログインし、操作を可能とする機能を実現しましたが、 ネットワークに接続された機器が増加した現在では攻撃の目標となります。 その最大の理由は、通信が「平文」のまま行われるため、盗聴という方法で操作内容を知られたり、 パスワードが洩れる点です。 それに対し、SSH(Secure Shell)は通信内容が暗号化されるため、盗聴に対抗できます。 また、ユーザ認証もパスワードそのものを通信経路に「ださずに」行うアルゴリズムを使っているため、 暗号解読という方法にも耐えられるものです。 経済学部の計算機環境もユーザ数が500を越え(2004年12月現在)、本人以外がアカウントを悪用する 可能性なども看過できない状況になりました。 以上の理由から、経済学部のホスト(Webサーバや、メールサーバなど)に対し、学外から リモートログインする場合は、暗号強度の高いSSH Version 2を標準としています。 (※経済学部内からはtelnet接続も受け付けています。)

2. 公開鍵暗号と設定手順の概要

以下では、公開鍵暗号を設定するうえで最低限必要な概念を説明します。公開鍵とは何であるのか、 どのように管理されるのか、が分かることを目的とします。

公開鍵暗号とは?

通信内容を第三者によみとりにくくする手順を踏んでできたものを「暗号」と呼びますが、 これまでの暗号(=古典暗号)では、暗号化する時と、もとの通信内容にもどすとき(=復号)に おなじ情報(=鍵)を使っていました。 それに対して公開鍵暗号では、暗号化の鍵(=暗号鍵)と復号につかう鍵 (=復号鍵)が別であり、一方から他方が推定できないのが特徴です。 この特徴を利用すると、さまざまな機能が実現されます。

公開鍵暗号のメリット:暗号鍵を公開できること

古典暗号においては「鍵」の漏洩は、即、通信内容が筒抜けになることを意味したため、 鍵の管理が大きな問題でした。 一方、公開鍵暗号では「暗号鍵」を公開することが可能となります。このことは以下を意味します。

  • 復号鍵さえ秘密にしておけば安全である。復号鍵をまもる方法さえ考えればよい。
  • 暗号鍵は誰が使ってもよいので、復号鍵をもっている人との通信の用途が広がる。
  • 暗号鍵を通信経路にだし、盗聴されたとしても暗号が損なわれない。つまり、暗号鍵は、 気軽に送信できるようになる。

以上の特徴から2つの計算機の間の通信において、

  • 暗号鍵を自分からははなれたマシンに送信しておく
  • 復号鍵は自分の手元のマシンにいれておき、秘密にしておく

と、盗聴が行われているとしても、基本的に安全に暗号が送れることになります。 これが「公開鍵暗号」と呼ばれるユエンです。

SSHにおける鍵の管理(重要)

SSHでは、以下のような手順で鍵を管理し、安全な通信を実現します。

  • 1.鍵を生成する。暗号鍵と復号鍵は一対のものとして生成される
  • 2.暗号鍵をリモートホスト(離れたところにある計算機)に送信し保存しておく
  • 3.復号鍵は手元のマシンに保存しておく。絶対に通信経路に送り出さない そして、さらに復号鍵は暗号をかけ、ファイルにする。 (復号鍵を暗号化する鍵のことを「パスフレーズ」とよび、 復号鍵の持ち主だけが 覚えておく。) こうしておけば、手元のマシンが攻撃にさらされても復号鍵そのものが盗まれる 危険が減らせる。
  • 4.リモートホストから通信をおこなう場合は、暗号鍵をつかって暗号化

以上により、通信の際には、すべての内容が暗号化され、また、 暗号につかう「鍵」そのものは基本的に通信経路に出されることがない、という特徴が実現されます。 また、秘密鍵は通信を行う人物だけが使うため、認証や、電子署名といった機能も同時に達成できます。

3. 接続のための下準備

以下では、SSH version 2の公開鍵暗号をつかったログインができるようにする手順を説明します。基本的には

  • 1.SSH クライアントの入手
  • 2.暗号鍵/復号鍵の生成
  • 3.復号鍵をパスフレーズによって暗号化し、ローカルマシンに保存
  • 4.暗号鍵をホスト側の~/.ssh/authorized_keysに登録
  • 5.通信してみる

となります。

1.SSHクライアント(PuTTY)の入手

Windows上で動作するtelnet/sshクライアントソフトウェアとしては、 PuTTY、TeraTermPro等が存在します。 ここでは、PuTTYを利用したssh version 2による接続について説明します。

1.英語版の入手

PuTTY公式サイト http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html より入手できます。

  • putty.exe・・・SSH Client 本体。ただし日本語表示不可なので今回は使わない。
  • puttygen.exe ・・・公開鍵/秘密鍵を生成するプログラム。(今回必須)
  • pageant.exe ・・・パスフレーズ代行入力を行ってくれるプログラム。
  • pscp.exe ・・・SCPクライアント。sshを経由したファイルコピーに使う
  • psftp.exe ・・・SFTPクライアント。sshを経由したFTP風のファイル送受信

2.日本語版の入手

日本語版がよいという方は、下のリンクから日本語版をダウンロードしてください。

executable files (PuTTY version 0.60 に日本語パッチをあてた実行ファイル puttyjp.exe)」 をダウンロードし解凍します。

なお、puttyjp.exe と puttyjp.lng は必ず同じフォルダ内に置くようにしてください。 (圧縮ファイルの解凍の仕方は、http://ratan.dyndns.info/kaitou.html 等を参考にしてください。)

2.puttygen.exe を利用した公開鍵/秘密鍵の作成

1.公開鍵と秘密鍵の生成

  • 1.puttygen.exe を起動
  • 2.画面下のParameters:Type of key to generate:として「SSH2 DSA」を選択。
  • 3.[Generate]を押す。

  • 4.画面下にメータが表示されるのでメータの空白のエリアでマウスを動かすと鍵が生成される。複雑なキーを生成するために、メータがMAXになるまでマウスを動かし続けてください。
  • 5.鍵の生成が終ると、生成された鍵(公開鍵のみ)が表示される。

  • 6.Key passphrase に絶対に他人に知られないようなパスフレーズを入力する。
  • 7.Confirm passphraseでもう一度パスフレーズを入力する。
  • 8.Save public Keyを押して、id_dsa.pubというファイル名で公開鍵を保存する。
  • 9.Save Private Keyを押して、id_dsa.ppkというファイル名で秘密鍵を保存する。
  • 10.puttygen.exe を終了します。

3.FTPを利用した公開鍵の登録

1.フリーFTPクライアントであるFFFTPを以下のURLから入手します。
http://www2.biglobe.ne.jp/~sota/ffftp.html

2.FFFTPを起動し、[接続]-[新規ホスト]を選択し、

以下の項目を設定します。

  • ホストの設定名 : ftp.econ.fukuoka-u.ac.jp
  • ホスト名(アドレス) : ftp.econ.fukuoka-u.ac.jp
  • ユーザ名 : あなたの持つECONのアカウント名を入力してください。
  • パスワード : アカウントに対するパスワードを入力してください。

3.[接続]を押すと、ftp.econ.fukuoka-u.ac.jpに接続します。

4. ftp.econ.fukuoka-u.ac.jp側のディレクトリ(右側の窓)にある.ssh という ディレクトリ(フォルダ)をダブルクリックして開いてください。 なお、.ssh が存在しない場合は、[フォルダの作成]にて作成してください。

5..ssh ディレクトリ(フォルダ)内に、authorized_keysファイルが存在するかどうか 確認します。

存在する場合の手順は以下。

1.authorized_keysファイルをダウンロードしてください。

2.メモ帳などのテキストエディタで、id_dsa.pub,と、 今ダウンロードしたauthorized_keysの2つを開いてください。
以下が開き方の一例です。
メモ帳を起動し、エクスプローラ(またはマイコンピュータ)から、開きたいファイルをドラッグ&ドロップする

3.id_dsa.pub の内容を[コピー]し、authorized_keys の最下行に[ペースト]します。

4.変更された authorized_keys を[上書き保存]します。

5.FFFTPで/home/アカウント名/.ssh に authorized_keys をアップロードします。
上書き確認では[上書きする]を選びます。

存在しない場合の手順は以下。

1.公開鍵が保存されているid_dsa.pub のファイル名を authorized_keys に変更しておいてください。
2.FFFTPで/home/アカウント名/.ssh に authorized_keys をアップロードします。
6.アップロードされた authorized_keys の以下の項目をチェックしてください。

  • ファイル名が authorized_keys ではなく、 authorized_keys.txt などになっている。 →ファイルの名前変更で、authorized_keysに名前を変えてください。
  • ファイルの属性が、rwxr-xr-x 以外の属性になっている。 →ファイルの属性変更で 755 に属性変更してください。

以上で接続のための下準備は完了です。

4. 通信してみる(接続の手順)

puttyjp.exe を利用し、経済学部の要塞ホスト(mail.econ.fukuoka-u.ac.jp)に接続します。

1.puttyjp.exe を起動すると接続オプションが出てくるので、以下の項目を設定してください。

  • セッション : ホスト名 → mail.econ.fukuoka-u.ac.jp
  • ポート → 22
  • 接続 : SSH : プロトコルオプション : 優先するプロトコルバージョン : → 2 only
  • 接続 : SSH : 認証 : 認証のためのプライベートキーファイル : Browseボタンを押し、先ほど生成した暗号化された秘密鍵のファイル(id_dsa.ppk)を選択する。

2.設定を保存します。 [セッション] : [保存されたセッション] の項目に設定の名前(好きな名前でよいです)を入力し、[保存]を押してください。

3.接続 画面右下の[開く]を押してください。接続が始まります。

  • 1.login as: と表示されるので、あなたのECONアカウント名を入力してください。
  • 2.次にパスフレーズを求められるので、暗号鍵を保存する際に設定したパスフレーズを 入力してください。

20041228 松薗/五十嵐により作成。
20070307 高島が変更。公開鍵ファイルのフォーマットがOpenSSHになるように。

IGARASHI Yasufumi
Last modified: Tue Jan 4 16:38:17 JST 2005
2010/05/10 今西 衞 修正
2010/05/10 東     文章のレイアウトを修正

LDAP user to find: yigarash [auth.php:186]
LDAP Server: ldap://133.100.109.234:389 [auth.php:189]
LDAP Filter: (&(uid=yigarash)(objectClass=posixAccount)) [auth.php:200]
LDAP user search: Success [auth.php:202]
LDAP search at: ou=People,dc=econ,dc=fukuoka-u,dc=ac,dc=jp (&(uid=yigarash)(objectClass=posixAccount)) [auth.php:203]
LDAP search found single result ! [auth.php:225]
LDAP group search: Success [auth.php:266]
LDAP search at: ou=Group,dc=econ,dc=fukuoka-u,dc=ac,dc=jp (&(objectClass=posixGroup)(|(gidNumber=1125)(memberUID=yigarash))) [auth.php:267]
LDAP usergroup: www [auth.php:286]
LDAP usergroup: yigarash [auth.php:286]
LDAP usergroup: yonedacvs [auth.php:286]
LDAP usergroup: venture [auth.php:286]
LDAP usergroup: mac [auth.php:286]
LDAP usergroup: qbic [auth.php:286]
how_to_setup_ssh.txt · Last modified: 2016/10/12 09:59 by yigarash
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0