ssh(Secure Shell)の使い方とインストール方法とOTP

ssh-1.2.27 / ssh-2.0.13

2.0.12以前もやばくなったらしい。

どうやらssh-1.2.26の穴っていうのは行きすぎた心配だったらしい。 いまのところ、穴はみつかってはいないのだが、vsnprintfを使ってないので バッファ溢れなどの心配があったというのが本当のところらしい。

ssh2は個人使用、学術使用以外はライセンス料を払う必要あり。

News

ssh-2.0.12リリース(2/2)
Free SSH2 client
itojun大先生によるsshチュートリアルのスライド

ssh2.0.11へのpatchがでました。 ssh-2.0.11以前はやばいので使いませんよう。

ssh-2.0.11がでました。twofishが実装されました。
これは取りこし苦労だったらしいが、patchはあてといたほうがいいかも⇒ ssh-1.2.26以前は穴があるので使いませんよう。1998/Nov/1 from bugtraq vsnprintfをつかうようにするパッチ(一部手 直ししてあります)
ssh-1.2.25以前は穴があるので使いませんよう。

index

なぜ SSHなのでしょう? OTPとどこが違うの? :
「OTP(One Time Password)を使ってパスワード盗聴から身を守る」(←こんな名前ですが、OTPはもちろんSSHのことをかいています) 網羅的な記事なので、はじめての方はこちらをどうぞ。OTPとsshについてを書いてます。(Linux Japan No5 に書いた記事を若干加筆修正したものです)
sshをつかう/installしてみる
ssh1のほんとーにかんたんな概要
次世代のSSH,ssh2のおはなし
ssh2についてまだまだ安定するまで時間がかかると 思いますが、ssh2について。
windowsでsshを使うには?
北口君によるttsshの使いかた(日本語をwindowsのsshで使いたければこれを見ましょ)
windowsで使えるsshのリスト

おまけ:NAISTでの例


SSH2の話題 ssh2は個人使用、学術使用以外はライセンス料を払う必要あり。
そのため Free SSH2 client をつくっているグループもあります。必要な方は見ましょう。

SSH2が8月末に出ました。インストール方法などはほぼ同じ。 RSAじゃなくて、DSAが公開鍵のデフォルトになっている。 せっかくなので、ssh_keygen2 をかましてssh2用の鍵の対を 作りましょう。

$ ssh-keygen2
ですね。

~/.ssh2/ 以下に自分の設定ファイルとか、鍵とかを置くことになる。 ま、これはssh1のときと一緒だけど、公開鍵の設定が どかーんと変わっている。

サーバ側ですること

ssh-keygen2でつくった鍵がid_dsa_1024_a(と.pub)だったら、 id_dsa_1024_a.pubをsshd2の動いているマシン(ツマリログインするマシンだね) にftpかなんかで送る。それを適当な名前に変更して、ログインするマシンの .ssh2/以下におく。(例えば、raptor2.pubとかに変更する)

そうしたら、authorization というファイルをつくる。中身はこんなかんじ。

washu:~/.ssh2$ more authorization 
Key     raptor2.pub

クライアント側ですること

ssh-keygen2で作った鍵を自分の証明にしなきゃいけないので、 .ssh2/identification というファイルをつくる。その中身は
washu:~/.ssh2$ more identification 
IdKey   id_dsa_1024_a
になります。

うーん実にシンプルになったねえ。ssh1dのときはcatで連結しなきゃ いけなかったことを思うとミスもしにくくなったことだろう。
ssh1をつかっていても、ふつうにインストールすれば問題なく 併用できる。このときは、ssh1とかscp1とかいう名前で古いほうが そのまま使える。とりあえず、2.0.8と1.2.26の組みあわせだと、 問題があったりなかったりする。Linuxではsshd1とscp2の組みあわせ でも、問題なく使えるが、sshd1がFreeBSDで動いている時はだめだった。 ま、そんときゃー、scp1って打ってしまえばOK.


友人がttsshによる Windowsでの使いかたを書いたので、winな人は見てくださいな。

ついでにwin95(98)で動くsshのリストはこんな感じ。

  1. raju: ftp://ftp.cs.hut.fi/pub/ssh/contrib
  2. cigaly: http://www.doc.ic.ac.uk/~ci2/ssh/
  3. f-secure: http://www.datafellows.com/f-secure/
  4. fissh: http://www.massconfusion.com/ssh/
  5. secure crt: http://www.vandyke.com/products/beta/SecureCRT/index.html
  6. ttssh: http://www.zip.com.au/~roca/ttssh.html
  7. therapy: http://guardian.htu.tuwien.ac.at/therapy/ssh/
  8. chaffee: http://bmrc.berkeley.edu/people/chaffee/winntutil.html

SSH1

Introduction

sshって何ですか?
Secure Shellのことです。現在は1.2.26のようです。
sshは、なにをするんですか?
通信路の暗号化、ホストの認証をします。
暗号化の方法は?ログインのセッションも暗号化されますか?
IDEA(これがデフォルトですが、ほかにもDES,3DESなどもえらべます)で 通信路を暗号化します。ログインの手続きから、全て暗号化されます。
認証はどうしてるのか?
RSAをつかっています。
ほかに応用は?
ポートを指定して、任意のポートのセッションを暗号化することができます。 Xのセッションなどは、デフォルトで暗号化されます。しかも、その間の通信路を 独自に確保しますから、壁越えも問題無くできます。

Install

インストールはどうやってするんですか?
まず,ソースを持ってきましょう。 国内には、WIDE京都などにあります。

ソースをもってきたら、

./configure
make
make install
 
だけで,コンパイルできると思います。
configureのとき、コンパイルオプションを設定することができます。 個人的なおすすめは、
./configure --with-rsh=/usr/bin/rsh --program-transform-name='s/^s/r/'
とします。このときは、rlogin, rsh, rcp などのコマンドを入力すると、 その前にsshで安全な通信路を確保しようとします。相手先がsshに対応していない ときは、警告が出て、rsh などが起動します。

ユーザがつかう前にすること

まず、自分の手元のマシンで、自分の公開鍵と秘密鍵をつくります。
ssh-keygen
で鍵がつくられます。そして、パスフレーズを入力しておわりです。 すると、自分のホームディレクトリの下に、.ssh という ディレクトリがつくられて、identity, identity.pub が できます。
接続先のホストに自分の公開鍵を登録します。
この公開鍵は見られてもかまいませんから、ftpでもしてください。 そうしたら、接続先のホストにも、.ssh というディレクトリをつくります。 その下に、authorized_keys というファイルを作成します。 特別なアクセス制御をしないときは、identity.pubをコピーするだけです。
pass-phrase の変更
"ssh-keygen -p" で、変更できます。以前のパスフレーズも必要です。

実際につかってみる

まず基本は、r系のコマンドと同一です。くわしくは man をどうぞ。 よく使うだろうと思うメモ
-f
ssh -f hostname command
サーバで command を起動します。このとき X のコマンドならば、暗号化して window が開きます。このとき、xhost による制御は関係ありません。 (ssh をつかうなら、"xhost -" のままでいいわけです。)
-C
サーバまでが遠いときに、圧縮して通信します。

Linux Solutions yasu/Ar homepage
yasuhi-a-web@washu.aist-nara.ac.jp 1997/June/20
1998/June/17
counter from 1998,Sep,5