やっと本題の Cygwin/OpenSSH 構築の話に入れます。Cygwin/OpenSSH は OpenSSH の Cygwin への移植版です。ここでは、OpenSSHパッケージを含む Cygwin が既にインストールされているとします。まだの場合は第3章を見てください。始終アップデートされているので、方法も頻繁に変わるでしょう。OpenSSH パッケージのバージョンはこの時点では3.7.1p2版です(2004年1月22日現在)。どうやって OpenSSH を Cygwin 上に構築するかは、
/usr/share/doc/Cygwin/openssh.README
に書いてあります(日本語訳はここ)。なお、作業はウインドウズの管理者権限で行うこと。
cygcheck -c openssh
cygcheck -c openssl
を入れると、下図のようにヴァージョン番号が示され、ステータスOKとなっています。

まずログインのためのパスワードが設定されていることを確認しましょう。/etc/passwdと /etc/groupに、管理者とユーザー名”username”が入っていることを確認します。Cygwin窓では、cat /etc/passwd 等を実行すれば見られます。パスワードやユーザーはウインドウズコントロールパネルから設定します。
######################################################
注1: 私は何度か cat コマンドが実行できないという経験をしました。そのとき、/bin を覗いてみると cat.exe が欠落していました。原因は判りませんが、ダウンロード/インストールをやり直したら直りました。
######################################################
ssh-host-config -y を実行します。
この命令はサーバーの設定とウインドウズへのサービス登録を行う命令です。-y は全ての質問にイエスと答えなさいとあらかじめ指示するオプションです。これを付けないといろいろ聞かれますが、あまり選択の余地はなさそうです。
下のようなメッセージが出て、ホスト認証キーが生成され、 ユーザー用設定ファイル ssh_config が作られるのが判ります。ホスト認証キーは通常は ssh-keygen コマンドを実行して生成するのですが、Cygwin/OpenSSHでは上記命令に組み込まれて簡素化されています。次に sshd を特権分離 (注2)したユーザーとして登録し 必要なディレクトリーを作り、 サーバー用設定ファイル sshd-config を作ります。 特権分離はOpenSSHヴァージョン3.3.3以降のデフォルトです。 ウインドウズへのサービス登録は cygrunsrv という Cygwin 独自のコマンドが行うのですが、それも同様に組み込まれています。
######################################################
注2: 特権分離とは sshd というユーザ-を作り、ネットワークからSSHサーバーに接触があったとき、作業ルートを/var/empty に移し、特権を持たない子プロセスとして認証作業を行うことです。悪意あるユーザーにより子プロセスがおかしくなっても大丈夫なように安全性を高める措置です。 /etc/passwd を見れば、sshd という名のユーザーが登録されていることが判ります。詳細はこちらを参照してください。
######################################################
上図の最下行で 環境変数に CYGWIN="ntsec" と入れます。"ntsec"の詳しい説明はここで見られます。

追記: ウィンドウズ7に入れるときの修正: openssh の新しいやり方では、cyg-server という名の(名前は選べる)ユーザーアカウントを作ってその中にsshd サーバーを入れるようです (下図参照)。しかし、インストールする側としては手続きを変更をする必要はありません。

ウィンドウズ7でのトラブル経験談:正常に働けば、 (管理者権限でcygwin を立ち上げる だけの変更だけで) openssh のインストールは、ウィンドウズXPの時と同じ手続きで良いはずです。
しかし、私の経験では、ウィンドウズ7に変更して最初に cygwin をインスト-ルしたとき、正常に入れば最初に cygwin を立ち上げたとき下のように、ユーザーfoo (ここでは tokki ) のディレクトリーが、home の下にできるはずなのですが (下図を参照)、

なぜか別のとんでもないところに、ホームディレクトリーできており、 ssh サーバーを入れる手順が狂い、インストールすることができませんでした。
この問題は、ウィンドウズの環境変数設定で HOME をあらわに指定するか、あるいはHOME環境変数を削除することで解決しました。
もう一つは、sshd サーバーがまともに反応を返さなかったことがあり、このときはポート22をTCPで開いて解決しました。
多分、cygwin や openssh を入れる前の状態が悪かったか、最初にあまり考えずにインストールして失敗したときの設定を引きずっていただけのことかもしれませんが、参考までに記しました。
ーーーーーーーーーー ◆ ◆ ◆ ーーーーーーーーーー
このパラグラフは蛇足です。リナックス習熟用の自分メモです。飛ばしてかまいません。
ssh-host-config と言うマクロ命令は以下の手続き
a. 以下の三つの命令を実行するssh-keygen -t rsa1 -f /etc/ssh_host_key -N ""
ssh-keygen -t rsa -f /etc/ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f /etc/ssh_host_dsa_key -N ""b. ssh_config ファイルを作る。
c. sshd_config ファイルを作る。d. 特権分離を行う。
mkdir /var/empty
chown "username" (注3): sys /var/empty
chmod 755 /var/empty
groupadd sshd
useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd注3: sshd を走らせているユーザー名
e.cygrunsrv -I sshd -d 'CYGWIN sshd' -p /usr/sbin/sshd -a -D -e "CYGWIN=ntsec" を実行する。
と論理的に同等です。実際にテストしたわけではなくてこうなるはずだという私の推測ですので間違っていたらごめんなさい。実際にはこの他にいろいろな保護措置やオプション設定などがあるでしょうが。
a.の暗号鍵生成では、rsa1 オプションはSSH1用の鍵を、rsa と dsa はSSH2用の鍵を生成すると言う意味です。 -f オプションでホスト認証キーを収納場所を指定しますが、パスフレーズを使わないように指示しているのは(空白""付き-Nオプション)、ホスト認証キーは暗号化しないという意味です。暗号化すると sshd は動かないということです。
e.の cygrunsrv は、/usr/sbin/sshd にあるsshd デーモンプログラムを"CYGWIN sshd"という名前で、ウインドウズのサービスとして登録(-I オプション)します。ssh-host-config 命令実行時に、sshd が起動時に使用する環境変数CYGWINの値を聞いてきますので、ユーザーが打ち込んだ値が、-eオプションに付加されます。-a -D はおまじないと思ってください。SSHDを独立なサーバーとして機能させるオプションです。inetd などのスーパーサーバーで一括管理をする場合は必要ありませんが、ここでは必須です。cygrunsrv の使い方に関しては
/usr/share/doc/Cygwin/cygrunsrv.README
を参照してください。
ーーーーーーーーーー ◆ ◆ ◆ ーーーーーーーーーー
ssh-user-configを実行することにします。

まず、ユーザーのホームディレクトリーにパーミッションが設定され、ユーザー自身以外はアクセス制限されるのが判ります。次にホームディレクトリーの中に .ssh ディレクトリーを作り、さらにその中ににホスト情報の収納場所 (known_hosts) を作ります。またサーバー公開キーと秘密キーを生成しその収納場所を作ります。その後で公開鍵運用のための格納場所 (authorized_keys) に追加収納します。サーバーが稼働時にユーザ公開鍵を参照するのはこの authorized_keys です。
Shall I create an SSH1 RSA identity file for you? (yes/no)
と聞かれたとき、no と答えればSSH1用のキーは作りません。yes と答えればパスフレーズを2度入力しなければなりません。パスフレーズが空白の場合は秘密鍵は暗号化されないことに留意してください。ここでは、SSH2/DSA 認証のみを使う設定にしました。そして生成した鍵をこのサーバーログインの際の認証に使うか聞かれますので、ここではイエスと答えます。
ユーザーが複数いる場合は、ユーザー毎に ssh-user-config を実行します。
あ、それから authorized_keys ファイルにはユーザーの公開鍵を次々と書き足していきます。ですから、後に自分で鍵を追加収納する際、コピーコマンドを使って収納するのは危険です。一端、~/.ssh/id_dsa.pub などにコピーしてから、このディレクトリーに cd コマンドで移動し改めて
cat id_dsa.pub >> authorized_keys
などというコマンドを実行して authorized_keys ファイルに書き足してください。この命令は id_dsa.pub を cat コマンドで読み、その出力を authorized_keys ファイルに書き足す(>>)という複合命令です。( >> )の代わりに( > )を使うと上書きコピーになってしまうので気を付けてください。
ウインドウズのエディターを使って書き込むこともできますが、一つの暗号鍵は長い1行の文であることに留意してください。長い文章はエディター上では折り返されるのでそこに改行が入らないように注意するということです。パスワードの形式はここに記述されています。また暗号鍵毎に改行が必要ですが、"LF"改行にすることを忘れないようにしましょう。
ーーーーーーーーーー ◆ ◆ ◆ ーーーーーーーーーー
これも蛇足です。
全ての質問にイエスと答え、パスフレーズをあらかじめ指定する場合の
ssh-user-config -y -p "passphrase" のマクロ命令は以下の手続き
ユーザー tokki のホームディレクトリーが/etc/passwd に登録されていることを確認する。
chmod g-w o-w /home/tokki
mkdir ~/.ssh
ssh-keygen -t rsa1 -f ~/.ssh/identity -N "passphrase"
ssh-keygen -t rsa -f ~/.ssh/id_rsa -N "passphrase"
ssh-keygen -t dsa -f ~/.ssh/id_dsa -N "passphrase"
cat ~/.ssh/idnetity.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
setfacl -m "u::rw-,g::---,o::---" "/home/tokki/.ssh/authorized_keys"を実行することと同等です(と思います)。この辺はあまり解ってないのに書きすぎですねえ。この機会にリナックスも勉強しようとして自分用のメモを兼ねていますのでお許し下さい。chmod でグループとother のアクセスを拒否するパーミッションを設定してホームディレクトリーに保護措置を施した後 .ssh ディレクトリーを作ります。次に公開鍵のペアを作り、生成した公開鍵をサーバーが運営時参照する格納庫に追加収納します。最後に他人による書き換えを防ぐため setfacl でパーミッション設定が行われます。オプション - m は続くエントリーの変更を意味し、ここではユーザー(あなた自身)に読み書きを許可するが、グループと other には、アクセスを許さないという設定です。setfacl の説明はここを参照してください。
ーーーーーーーーーー ◆ ◆ ◆ ーーーーーーーーーー
NT系ウインドウズ(2000/XP)上でNTFSファイルシステムを使用している場合、sshd がログを書き込む二つのディレクトリー (/var/lrun, /var/log )が書き込み可能になっているかを確認します。ウィンドウズにはユニックスにおける root のような万能の管理者がいないので、OSの動作環境によっては書き込み制限状況をチェックする必要があるようです。書き込み制限があるときは sshd が起動しません。
getfacl /var/run と getfacl /var/log を入力します。

出力に 「other:rwx」もしくは「group:SYSTEM:rwx」があればOKです。無いときは
setfacl -m user:SYSTEM:rwx /var/run
setfacl -m user:SYSTEM:rwx /var/log
を入力して、読み (r) 書き (w) 実行 (x) の権限を与えます。
マイコンピューターアイコンを右クリックして、「管理」―「サービスとアプリケーション」ー「サービス」をクリックすると、「CYGWIN sshd」が登録されているのが判ります。それを選択して左上の「サービスの開始」(あるいは操作メニューから―開始)をクリックするとSSHサーバーがサービスを開始します。この時点で「サービスの再起動」というハイパーテキスト文が現れるはずです。
Cygwin窓内でサービス状況を確認したければ
cygrunsrv -Q sshd
と入れます。サービスとして登録されていれば次のように表示されます。

次に
cygrunsrv -S sshd
でサービスを開始 (sshd の起動)します。停止するときは
cygrunsrv -E sshd
を使います。cygrunsrv の使い方はここを参照してください。
cygwin画面で ssh -2 localhostを実行して入れれば成功です。

サーバーへの始めての接触なのでサーバー認証手続きが最初に行われます。サーバーがユーザーを認識して、自分のホスト鍵の指紋(finger print)を呈示してきました。指紋は鍵から作られる16組の二桁の16進法の数字列です。イエスと答えると、 今度はユーザー認証手続きに入ります。DSA公開鍵が有効になっていますから、ユーザーはパスフレーズの入力を求められます。パスフレーズを入れると確かに自分のホームディレクトリーに入れました。
次にプロトコルヴァージョン1で接触を試み、次のコマンドを入力します。
ssh -1 localhost
デフォルト設定では、サーバーはヴァージョン1と2のどちらでも受け付ける様になっていますから(/etc/sshd_config ファイルの中の Protocol 2,1 という記述) ヴァージョン1でも受け付けるはずです。ヴァージョン1では始めての接触ですから、先のヴァージョン2でのログインがあったことは認めつつ再びサーバー認証を行います。OKすると、RSA1公開鍵は設定していないのでパスワード認証に移ります。パスワードを入れて再びログインしました。
公開鍵認証を sshd 構築者以外のユーザーが使う場合は、ssh-user-config を実行した後、パスフレーズ、公開鍵をクライアントに渡すか、もしくはユーザーが作った公開鍵を ~/.ssh/authorized_keys に追加収納する必要があります。
SSHサーバーが動いた後はユーザー側クライアントの設定に移りましょう。鍵収納法の詳細については「ウインドウズでSSHクライアントを使おう」を参照してください。
ウインドウズNT/2000/XP上でNTFSメモリーを使っている場合は、個々のファイルやディレクトリーを書き込み禁止にできます。さらに CYGWIN=ntsecと設定した場合は、sshd_config ファイルの中の StrictModes no → yes に書き換えましょう。こうするとサーバーホストの中のユーザーホームディレクトリーやユーザーの公開鍵が保護されていない(すなわち他人が書き込み可能)となっているユーザーの接触は拒否されます。
最近はパーミッションがデフォルトで設定されるケースが多くなったのでかなり安全ですが、危険のありそうなところは一応確認しましょう。ファイルのあるディレクトリーで、ls -la を実行すれば見られます。
下図は一例です。

ホームディレクトリーが 755 .ssh ディレクトリーが 700 秘密鍵収納ファイルや authorized_keys や秘密鍵は 600 という設定になっていることが判ります。755(-rwxr-xr-x)は自分は読み書き実行可能、他人は読みとりと実行は可能であるが書き込みはできないと言う設定です。600(-rw-------) は自分だけが読み書き可能、他人は覗くことも許さない設定です。
しかし、ウインドウズNT系ではユニックスより複雑な設定をしているので、ls コマンドでは全部の情報が見られません。パーミッションの最後に+ 印があるものはそれを示していますし、下手に chmod でパーミッションを変更するとウインドウズの設定を壊す場合があるので要注意です。その場合は ls の代わりに getfacl、chmod の代わりに setfacl を使います。setfacl, getfacl の使い方の説明は例えばCygwinユーザーズガイドやここを参照してください。ウインドウズNT系の保護設定 と ntsec との関連についての詳細はここを参照してください。
最後に: ウインドウズ9x系やMeで使っているFAT32メモリーには保護措置がありません。第3者に容易に書き換えられます。つまり従来のウインドウズにはもともと安全を厳しく管理すると言う概念がなかったということらしいです。また良くわかりませんがCygwin自体にも安全性の問題があるそうです。従って,SSHサーバー自体の安全性は非常に高いにしても、 Cygwin/OpenSSHを使う場合は、ユーザーを基本的に信頼できる仲間同士のみに限ると割り切るべきかもしれません。いずれにしろ大組織の厳格な管理者を目指しているわけではありませんの大したことではないかも知れませんが。
SSH関連のファイルが入るところを把握しておきましょう。OpenSSHがビルドされた後、収納されるところは、
cygcheck -l openssh
を実行すれば一覧が見られます。一覧表を以下に示します。sshd がデーモンと呼ばれる ssh のサーバープログラムファイルです。長いコマンドの ssh-host-config と ssh-user-config はCygwin/OpenSSH に特有なスクリプト命令です。説明はOpenSSH構築説明書 (/usr/share/doc/cygwin/openssh.README 日本語訳はここ) に書いてあります。下でも概要を説明します。
表4.1 Cygwin/OpenSSH関連ファイルの収納場所○Cygwinインストール時に展開されるファイル
◇コマンド実行ファイル:
/bin/ ssh.exe, scp.exe, sftp.exe, ssh-add.exe, ssh-agent.exe, ssh-kegen.exe, ssh-keyscan.exe,
/bin/ ssh-host-config, ssh-user-config
/usr/ sbin/ sshd.exe, sftp-server.exe, ssh-keysign.exe
◇マニュアル、説明書
/usr/share/doc/Cygwin/ % Cygwin 仕様の説明 (OpenSSH を含む)
/usr/share/man/man1/scp.1, sftp1, slogin.1, ssh.1, ssh-add.1, ssh-agent.1, ssh-keygen.1, ssh-keyscan.1 % OpenSSH 仕様の説明
/usr/share/man/man5/ssh_config.5, sshd_config.5
/usr/share/man/man8/sftp-server.8, sshd.8, ssh-keygen.8○SSHビルド時に作られるファイル
/etc/ ssh_config, sshd_config, %設定ファイル
/etc/ssh_host_key, ssh_host_key.pub, %SSH1ホスト認証用公開鍵ペアの収納場所
/etc/ssh_host_rsa_key, ssh_host_rsa_key.pub, %SSH2ホスト認証用公開鍵ペアの収納場所
/etc/ssh_host_dsa_key, ssh_host_dsa_key.pub, %SSH2ホスト公開鍵ペアの収納場所
~/.ssh/ authorized_keys %ユーザー公開鍵収納場所。運用時サーバーはここを参照する。
~/.ssh/identity, identity.pub %SSH1ユーザー公開鍵ペアの収納場所
~/.ssh/id_rsa, id_rsa.pub, id_dsa, id_dsa.pub %SSH2ユーザー公開鍵ペアの収納場所
~/.ssh/known_hosts %ユーザーのホスト一覧収納場所
○SSH実行時に作られるファイル
◇記録ファイル
/var/ log/sshd.log,
/var/run/sshd.pid
Default のサーバー設定ファイルの抜粋を以下に示します。全文は /etc/sshd_config で見られます。設定ファイルのマニュアルはここ(sshd_config(5))、sshd が具体的に何をするかの説明がここで見られます。
表4.2 Cygwin/OpenSSH のサーバー設定ファイル (sshd_config)
のでフォルトテキスト文(抜粋)
#は通常はコメントアウトを意味しますが、ここではデフォルト設定を意味し、変更したいときに # を外して書き換えます。異なる設定が可能な時は、設定ファイルの中では、最初に遭遇した設定を採用します。したがって優先度の低い設定は後に書きます。例えば認証法は、ここでの設定では、最初に公開鍵方式を試してだめならパスワード認証をするという順番になっています。
# $OpenBSD: sshd_config,v 1.65 2003/08/28 12:54:34 markus Exp $
# This is the sshd server system-wide configuration file. See sshd(5) for # more information.
Port 22 % 使用するポートの指定
#Protocol 2,1 % 受付可能なプロトコル。ヴァージョン2だけにしたいときは1 を消し、# をはずします。#ListenAddress 0.0.0.0 % 接続を許可するホストの指定
#ListenAddress ::
# HostKey for protocol version 1
#HostKey /etc/ssh_host_key % ホスト認証キー格納場所の指定
# HostKeys for protocol version 2
#HostKey /etc/ssh_host_rsa_key
#HostKey /etc/ssh_host_dsa_key
# Lifetime and size of ephemeral version 1 server key
# Logging % ログイン方法
#KeyRegenerationInterval 3600 % サーバー鍵を更新する時間間隔
#ServerKeyBits 768 % サーバー鍵のビット数
#SyslogFacility AUTH
#LogLevel INFO % 出力ログの冗長度
#obsoletes QuietMode and FascistLogging
# Authentication: % 認証方法
#LoginGraceTime 2m % ログイン猶予時間。
#PermitRootLogin yes
# The following setting overrides permission checks on host key files
# and directories. For security reasons set this to "yes" when running
# NT/W2K, NTFS and CYGWIN=ntsec.
StrictModes no % ホームディレクトリー下のユーザーファイルに# 保護がかかっていなくても、アクセスを拒否しない
#RSAAuthentication yes % SSH1公開鍵RSA認証を行う
#PubkeyAuthentication yes % SSH2公開鍵認証を行う
#AuthorizedKeysFile %h/.ssh/authorized_keys % SSH1/ユーザー公開鍵の収納場所指定。
# For this to work you will also need host keys in /etc/ssh_known_hosts
#RhostsRSAAuthentication no % ホスト認証は行わない。
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for % ユーザーホスト情報を信頼する場合はこのままにしておく
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes % パスワード認証を行う
#PermitEmptyPasswords no
# Change to no to disable s/key passwords
#X11Forwarding no
#ChallengeResponseAuthentication yes % チャレンジレスポンス認証
#X11DisplayOffset 10
#PrintMotd yes
#PrintLastLog yes
#KeepAlive yes % 接続異常を知るためメッセージを送る
#UseLogin no
UsePrivilegeSeparation yes % 特権分離をする
#PermitUserEnvironment no
#Compression yes
#UseDNS yes
#MaxStartups 10
Subsystem sftp /usr/sbin/sftp-server % sftp使用可能
設定ファイルは、最初はSSHサーバー構築の際デフォルトで生成されたものをそのまま使って良いでしょう。SSHDの使いこなしに習熟してきたら書き換えも試みましょう。書き換えはテキストエディター を使えばできます。ウィンドウズ上のエディターを使うときは、改行コード(Cygwinのインストール時にユニックス用のLFを選んだことを思い出してください)に気をつけること。#印はコメント文を意味します。
◇ Protocol 2,1 の意味: 1, 2 としても同じです。サーバーがSSH1とSSH2の両プロトコルをサポートするという意味です。ただし両方試せるという意味ではありません。ユーザーがサーバーに接触したときの選択肢を呈示しているということです。ユーザー設定ファイルの方にも同じ記述があり(後述)合わせて参照してください。
基本的にSSH2にすることが薦められますが、現状ではSSH1プロトコルのみ可能なポピュラーなクライアント(たとえばTTSSH)もありますのでよく考えて決めましょう。プロトコル2のみにするならば4行目の #をはずしてProtocol 2 と書き換えます。
その他の述語の詳しい意味はsshdのマニュアル(日本語訳)または「OpenSSH/セキュリティ管理ガイド」の付録を参照してください。設定ファイルを書き換えた場合は sshd のサービスを再起動しないと設定は有効になりません。再起動の方法は下の第4.2章○5を参照してください。
次にユーザー設定ファイル(全文)を以下に示します。 ssh コマンドに対する指示です。/etc/ssh_config に収納してあります。説明はここ(ssh_config(5))を参照してください。
表4.3 Cygwin/OpenSSHのユーザー設定ファイル(ssh_config)
のdefaultテキスト文(全文)
# $OpenBSD: ssh_config,v 1.19 2003/08/13 08:46:31 markus Exp $
# This is the ssh client system-wide configuration file. See
# ssh_config(5) for more information. This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.# Configuration data is parsed as follows: %設定優先順位
# 1. command line options
# 2. user-specific file
# 3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.# Site-wide defaults for various options %全ユーザーホスト共通のオプション設定
# Host * % * をユーザーホスト名と入れ替えるとホスト毎のオプションが設定できる。複数設定可
# ForwardAgent no
# ForwardX11 no
# RhostsRSAAuthentication no
# RSAAuthentication yes
# PasswordAuthentication yes
# HostbasedAuthentication no
# BatchMode no
# CheckHostIP yes
# AddressFamily any
# ConnectTimeout 0
# StrictHostKeyChecking ask
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# Port 22
# Protocol 2,1
# Cipher 3des
# Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
# EscapeChar ~
ssh_config ファイルにはユーザー一般の設定を書き込めます。#印の付いた文章はデフォルト設定ですので、変更したいときは、#を外して書き換えます。ssh は以下のものから この順序で優先順位を付けた設定情報を取得します:
1. コマンドラインに付加したオプション
2. ユーザごとの設定ファイル ($HOME/.ssh/config)
3. システム全体にわたる (system-wide) 設定ファイル (/etc/ssh_config)
サーバーの設定表(ssh_config)には最後に見るdefault値が書いてあると言うことです。SSHの習熟度に合わせて書き直せますが、慣れるまではデフォルト値で行きましょう。
◇ Protocol 2,1 の意味: ssh がサポートすべきプロトコルの優先順位です。デフォルトは 2,1 で、これは ssh がまずはじめにサーバーがヴァージョン2をサポートしているかどうかをチェックし、サポートしていないときはヴァージョン1を採用するという意味です。サーバーがヴァージョン2をサポートしている場合、ヴァージョン2での認証に失敗すると ssh はそこで終了します。
(050418改訂/)
間違いやコメントなどありましたら長島順清に連絡をお願いします。