まず,情報系教育コースで運用されている教育用計算機システムへログインするためのアカウントの情報を用意します (配布済みのはず).
愛媛大学全学アカウントとは異なる点に注意しましょう.
つづいて,公開鍵ファイル・秘密鍵ファイルのペアを作成し,公開鍵ファイルに含まれるデータ (公開鍵) を sshg.cs.ehime-u.ac.jp における
~/.ssh/authorized_keys
へ (追加で) 書き込みます.
その後,例えば以下のようなソフトウェアを用いて,sshg.cs.ehime-u.ac.jp へSSH接続します.
Tera Term を用いる場合の詳細は 情報系教育コース 教育用計算機システム サポート・ページ | 学外からの利用方法 を参照しましょう (学内限定).
情報系教育コース 教育用計算機システム サポート・ページ | 学外からの利用方法 における「公開鍵の登録方法」を参照し実行しましょう (学内限定).
この方法では公開鍵を sshg.cs.ehime-u.ac.jp における ~/.ssh/authorized_keys
へ手軽にコピーできますが,そのファイルの内容は上書きされる 点に注意しましょう.
~/.ssh/authorized_keys
は複数の公開鍵を含むことが可能です.
接続元のパソコンごとに公開鍵ファイル・秘密鍵ファイルのペアを作成し (1つのペアを使いまわししないで),接続元のパソコンごとに公開鍵を ~/.ssh/authorized_keys
へ追加することにより,セキュリティおよび利便性が向上します.
例えば,あるパソコンを紛失した場合,そのパソコンで作成した公開鍵を ~/.ssh/authorized_keys
から削除すれば,そのパソコン内の秘密鍵を用いたSSH接
続を防ぐことが可能です.
ほかにも,演習ごとに公開鍵ファイル・秘密鍵ファイルのペアを作成・使用することにより,複数の演習で同じファイル (~/.ssh/id_rsa.pub
, ~/.ssh/id_rsa
) を使用することに伴う不具合を避けることが可能です.
ssh-keygen
コマンドなどを用いて,演習室へ持ってくるノートパソコン上で公開鍵ファイル・秘密鍵ファイルのペアを作成します.
その後,パスワード認証が可能な演習室のネットワークへパソコンを接続し,ssh-copy-id
コマンドを使用してSSH接続したいサーバへパスワード認証でログインします.
ssh-copy-id
は,公開鍵ファイルを必要とします.
~/.ssh/id_rsa.pub
が使用されます.ssh-copy-id
は,SSHサーバへのログインに成功すると,公開鍵をサーバ上の ~/.ssh/authorized_keys
ファイルへ 追加 します.
~/.ssh
ディレクトリや ~/.ssh/authorized_keys
ファイルが存在しない場合,適宜作成しパーミッションを設定します.~/.ssh/authorized_keys
にすでに含まれている場合,さらなる (重複しての) 追加は 行いません.公開鍵を追加したあとは,パスワード認証ではなく,公開鍵認証によりSSH接続できることを確認しましょう.
OpenSSH を使っているなら,ssh
コマンドのオプションに「-o PasswordAuthentication=no」を追加して,SSH接続できることを確認しておきましょう.
「openssh authorized_keys」といったキーワードを検索すれば,設定に関するWebページがたくさん見つかります.
それらのページのほうが詳しく説明されていますが,以下簡単に説明します.
おおまかには以下の手続きにより,公開鍵認証の設定を行えます.
chmod go-w ~
を実行しておく).~/.ssh
ディレクトリを作成し,パーミッションを 700 にする (drwx——).chmod 700 ~/.ssh
.~/.ssh/authorized_keys
ファイルへ,手元のパソコンで作成した公開鍵ファイルに含まれるデータ (公開鍵) を追記する.~/.ssh/authorized_keys
ファイルのパーミッションを 600 にする (-rw——-).
パーミッション設定時のターミナルへの入力は chmod 600 ~/.ssh/authorized_keys
.ssh -o PasswordAuthentication=no USER@sshg.cs.ehime-u.ac.jp
.USER@
をつけないと,手元のパソコン上のユーザ名が使用される点に注意する (SSHサーバ上のユーザ名と同じなら問題ないが).まず,以下の2つのケースが考えられます.
SSH接続時に端末へ表示されるメッセージを読んで (無視する人が大変多い),入力を求められているのがパスワードなのかパスフレーズなのかを確認するように しましょう.
ケース1 だとすると,その原因は以下のように無数に考えられます.一概に言えないため,教職員に相談しましょう.
~/.ssh
が存在しない,あるいはパーミションが不適切である.~/.ssh/authorized_keys
が存在しない,あるいはパーミションが不適切である.~/.ssh/authorized_keys
に適切な公開鍵が含まれていない.~/.ssh/authorized_keys
に公開鍵を追加した.~/.ssh/authorized_keys
に,サーバで作成した公開鍵を追加した.ssh
コマンド等でユーザ名を指定しない場合,手元のパソコン上でのユーザ名が使われる).ssh
コマンド等で「-i」オプションにより秘密鍵ファイルを指定しない場合,~/.ssh/id_rsa
が使われる).情報系教育コースで運用されているサーバへ リモートデスクトップ接続 し,接続後の計算機から sshg.cs.ehime-u.ac.jp へSSH接続し,sshg.cs.ehime-u.ac.jp 上で今後SSH接続できるよう ~/.ssh/authorized_keys
を修正するという方法が考えられます.
リモートデスクトップサーバの一覧などについては,情報系教育コース 教育用計算機システム サポート・ページ | 学外からの利用方 法 を参照しましょう (学内限定).
~/.ssh/authorized_keys
の修正にあたっては,追加しようとしている公開鍵が,手元のパソコン上のものである ことを確認しましょう.
ときどき,sshg.cs.ehime-u.ac.jp 上で作成し,手元のパソコンには存在しない公開鍵を追加するケースがあります.
このとき,sshg.cs.ehime-u.ac.jp から sshg.cs.ehime-u.ac.jp へ公開鍵認証でSSH接続できますが,これはほとんどの場合意味がないでしょう.
上述した ssh-copy-id
を使用するのが手っ取り早いでしょう.
暗号化や鍵交換等のためさまざまなアルゴリズムが提案されていますが,過去に提案されたアルゴリズムのうち脆弱であると判明したものは,新しいSSHサーバ ですと使用できないことがあります.
Tera Term の代わりに OpenSSH を使う,Tera Term の最新のベータ版を使う,といった対応が考えられます.