Telnet 等のデモが必要. 2 台計算機, 2 台プロジェクタを用意.
あるコンピュータを端末にして, 別のコンピュータに 接続して ( login して) 利用することが可能である. 接続先のコンピュータは unix が稼働する計算機であることがおおい. このような接続には telnet 等が利用されてきたが,
ssh は password login を許可し
一番低い security level で運用することも可能である.
security level が低いので,
どこか ===(telnet)==>
踏台(telnet で login できて, ssh が使える) ===(ssh) ==>
hogera.kobe-u.ac.jp
という形でマシン hogera に login ができてしまうが,
これでは ssh でパスワード等を暗号通信
する意味がない.
踏台マシンに至る過程でパスワードが洩れる可能性がある.
出先で ssh を利用できるマシンがないマシンがない場合は,
利用をあきらめるのが肝要であろう.
[例: 某大学のマシンは, cracker の
IRC サイトにされてて, 4 ヵ月も運用者がそれに気が付いていなかったという状態
があった. このような場合確実にパスワードは洩れているとおもって間違いない. ]
ssh を 本格的に利用するには, public key, private key を生成する必要がある. これらは RSA 暗号の公開鍵と秘密鍵である. public key, private key を用いて ssh を利用すると, コピー等が 便利でかつ安全度が増す.
public key, private key は パスフレーズ(パスワードに類するもの) を入力としてコマンド ssh-keygen で生成する. 以下, 自分のマシン名を potato-123 と仮定する. login したいマシンの名前を orange と仮定し, 両方とも unix が稼働していると仮定する.
自分のマシン potato-123 に login して,
ssh-keygenと入力する. パスフレーズの入力をもとめられてからしばらく計算機の計算をまつと, 二つのファイル
.ssh/identity .ssh/identity.pubが生成される.
計算機 A より, 計算機 B に ssh RSA 認証で login するには,
計算機 A に
.ssh/identity (RSA 秘密鍵)
計算機 B に
.ssh/autorized_keys (RSA 公開鍵, identity.pub のコピー)
が必要.
たとえば A を自分のマシン potato-123,
B を相手先マシン orange とする.
.ssh/identity.pub を orange に
.ssh/authorized_keys なる名前でコピーする必要がある.
orange での login 名 (username) と自分のマシンでの
login 名は同一と仮定するとき, 以下のようにすればコピーできる.
potato-123% ssh orange 'mkdir .ssh' potato-123% scp .ssh/identity.pub username@orange:.ssh/authorized_keys
potato-123 より, ssh で login を試みてみよう.
potato-123% ssh orange Enter passphrase for RSA key 'taka@potato-123':と passphrase を聞いてきたら, うまくいっている. うまくいかない場合は, ssh -v と -v オプションを 付けて( verbose ) 原因を探るとよい.
Q. orange での login 名が potato-123 の login 名と
ことなります. どうすればいいでしょう.
A. orange での login 名が hoge の場合, potato-123
から orange に login するには,
ssh orange -l hoge
でよい.