訳者: 春山 征吾 HARUYAMA Seigo OpenSSH FAQ OpenSSH is almost completely compatible with the commercial SSH 1.2.x. There are, however, a few exceptions that you will need to bear in mind while upgrading from the commercial version, or trying to add OpenSSH to a system that does not ship with it by default. OpenSSH は 商用 SSH 1.2.x とほぼ完全に互換です. しかし, 商用 version からのアップグレード時 ないしデフォルトで OpenSSH 入りに なっていないシステムに OpenSSH を足そうとする時には, 心にとめておくべき例外が少しあります. 1.Why does ssh/scp make connections from low-numbered ports. My firewall blocks these. 1. なぜ ssh/scp は小さい番号のポートを使って接続するのでしょう? ファイアウォールが弾いてしまいます. The OpenSSH client uses low numbered ports for rhosts and rhosts-rsa authentication because the server needs to trust the username provided by the client. rhosts ないし rhosts-rsa 認証の際には, サーバはクライアントから 与えられたユーザ名を信用する必要があるため, OpenSSH のクライアント は小さい番号のポートを使うのです.. To prevent ssh from using low-numbered ports, add UsePrivilegedPort no to your ssh_config or ~/.ssh/config files, remove the setuid bit from the ssh executable or use add -o "UsePrivilegedPort no" to your ssh or scp commandline. 小さいポート番号を使うのを止めるには, システムの ssh_config ないし~/.ssh/config に UsePrivilegedPort no と足して, ssh 実行ファイルから setuid bit を取り除くか, ssh ないし scp のコマンドラインで -o "UsePrivilegedPort no" を加えて使うようにします. 2.Why is the ssh client setuid root? 2. なぜ ssh クライアントは setuid root されているのでしょう? The ssh client need to bind to a low-numbered port for rhosts and rhosts-rsa authentication. You can safely remove the setuid bit from the ssh executable if you don't want to use these authentication methods. rhosts 認証ないし rhosts-rsa 認証のために ssh クライアントは 小さい番号のポートを bind する必要があります. これらの 認証法を使いたくないのであれば, ssh 実行形式から setuid bit を取り除いても問題ありません. 3. Does OpenSSH implement SFTP? 3. OpenSSH は SFTP を実装してますか? In OpenSSH 2.3.0 Markus Friedl added support for a SFTP server that implements the SFTP protocol used by serveral commercial SSH clients. For more information see sshd manpage for the Subsystem option. SFTP is documented in the secsh-filexfer IETF draft. OpenSSH 2.3.0 で, いくつかの商用 SSH クライアントで使われている SFTP プロトコルを実装した SFTP サーバのサポートを Markus Friedl が加えました. この部分システムの選択に付いてのより詳しい情報が sshd のオンラインマニュアルで得られます. SFTP については secsh-filexfer IETF draft で述べられている. (http://www.openssh.com/txt/draft-ietf-secsh-filexfer-00.txt) 4.Why does SSH 2.3 have problems interoperating with OpenSSH 2.1.1? 4. SSH 2.3 を OpenSSH 2.1.1 と相互運用すると問題があるのはなぜでしょう? SSH 2.3 and earlier versions contain a flaw in their HMAC implementation. Their code was not supplying the full data block output from the digest, and instead always provided 128 bits. For longer digests, this caused SSH 2.3 to not interoperate with OpenSSH. SSH 2.3, またそれ以前の version では HMAC の実装に欠陥があります. SSH2.3 のコードは digest からのデータブロックの*全*出力を 提供せずに, かわりにいつも 128bit の出力を与えてしまいます. より長い digest だと, SSH2.3 が OpenSSH と相互運用できなく してしまいます. OpenSSH 2.2.0 detects that SSH 2.3 has this flaw. Future versions of SSH will have this bug fixed. OpenSSH 2.2.0 は SSH 2.3 の弱点を検知します. SSH の今後の version ではこのバグは修正されるでしょう. 5.Why does my connection freeze when I use SSH 2.3? 5. SSH 2.3 を使うと接続が凍ってしまうのですがなぜですか? OpenSSH does not yet support rekeying, but SSH 2.3 tries to negotiate this feature. OpenSSH は rekey をサポートしていないのですが, SSH 2.3 は rekey の交渉をしようとします. #rekey とは(セッション開始時だけでなく) #セッション中にも鍵の交換を行うことらしい. Solution: Upgrade your commercial SSH version to SSH 2.4 or disable rekeying by adding RekeyIntervalSeconds 0 to the configuration file of SSH 2.3. 解決策: 商用 SSH の version を SSH 2.4 にあげるか, SSH 2.3 の設定ファイルに RekeyIntervalSeconds 0 を追加して rekey を無効にする. 6.Why does OpenSSH print "Dispatch protocol error: type 20" 6. OpenSSH が "Dispatch protocol error: type 20" と表示するのはなぜですか? See the previous question. 前の質問を見てください. 7.OpenSSH does not support any patented transport algorithms. 7. OpenSSH は特許が有効な転送アルゴリズムはサポートしていません. In SSH1 mode, only 3DES and Blowfish can be selected. In SSH2 mode, only 3DES, Blowfish, CAST128 or Arcfour can be selected at the current time. The patented and dated IDEA algorithm is not supported. SSH1 モードでは, 3DES ないし Blowfish アルゴリズムのみが 選べます. SSH2 モードでは 現在 3DES Blowfish CAST128 Arcfour が選べます. 特許化されており時代遅れの IDEA アルゴリズムは サポートしていません. This difference may manifest itself in the ssh command refusing to read configuration files left over from a previous installation of commercial SSH. この違いは, 商用 SSH の以前のインストールから残された 設定ファイルを ssh のコマンドが読むのを拒否することで 明らかとなります. Solution: Edit /etc/ssh/ssh_config and select a different Cipher option ("3des" or "blowfish"). 解決策: /etc/ssh/ssh_config (訳注: ないし ~/.ssh/config など) を編集して異なる暗号 ( 3des ないし blowfish) を選択します. 8.Old versions of commercial SSH encrypt host keys with IDEA. 8. 商用 SSH の古い version は host keys を IDEA を用いて暗号化しています. The old versions of SSH used a patented algorithm to encrypt their /etc/ssh/ssh_host_key. This problem will manifest as sshd not being able to read its host key. SSH の古い version では 特許が取られているアルゴリズムで /etc/ssh/ssh_host_key が暗号化されています. この問題は sshd が host key を読めないことによって 示されます. Solution: You will need to run the commercial version of ssh-keygen on the host's private key: # ssh-keygen -u -f /etc/ssh/ssh_host_key This will "upgrade" the key to 3DES. 解決策: *商用*version の ssh-keygen をホストの 秘密鍵について走らせる必要があります. # ssh-keygen -u -f /etc/ssh/ssh_host_key これで 鍵は 3DES を用いたものにアップグレードされます. 9.Incompatible changes to /etc/sshd_config format. 9. /etc/sshd_config のフォーマットに互換性のない変化があります. OpenSSH extends the sshd_config file format in a number of ways. Currently, one change is incompatible with commercial SSH. OpenSSH は sshd_config ファイルのフォーマットをいろいろと拡張して います.現在古いものと互換性のない変化が一つあります. Commercial SSH controlled logging using the QuietMode and FascistLogging directives. OpenSSH introduces a more general set of logging options SyslogFacility and LogLevel. See the sshd manual page for details. 商用 SSH は QuietMode と FascistLogging のオプションを用いて log の記録をコントロールしていました. OpenSSH はより一般的な log の記録用オプション SyslogFacility と LogLevel を導入しています. 詳しくは sshd のマニュアルをご覧下さい. 10.Warning messages about key lengths. 10. 鍵の長さについての警告について. Commercial SSH's ssh-keygen program contained a bug which caused it to occasionally generate RSA keys which had their Most Significant Bit (MSB) unset. Such keys were advertised as being full-length, but are actually, half the time, half as long as advertised. 商用 SSH の ssh-keygen プログラムは最大有効ビット (MSB) をセットしない RSA の鍵を時々生成してしまう bug を含んでいます. このような鍵は 完全な長さを持っているようにみえますが, 実際には, しばしば, 宣伝してるより半分の流さしかありません. OpenSSH will print warning messages when it encounters such keys. To rid yourself of these message, edit you known_hosts files and replace the incorrect key length (usually "1024") with the correct key length (usually "1023"). However, as previously stated, these keys are usually less secure, so it is best to just make new ones. このような鍵を出逢った時, OpenSSH は警告を出します. このような警告を 取り除きたいならば, known_hosts ファイルを編集して不正確な鍵の長さ (一般に 1024) を正しい鍵の長さ (一般に 1023) に置きかえましょう. しかし 先に述べたように, これらの鍵は普通よりも安全でないので 新しいものを作るのが一番よいでしょう. 11.Portable OpenSSH: Spurious PAM authentication messages in logfiles. 11. OpenSSH の移植にて: log ファイル中の贋の PAM 認証メッセージが出る. The portable version of OpenSSH will generate spurious authentication failures at every login, similar to: "authentication failure; (uid=0) -> root for sshd service" OpenSSH の移植版では, すべてのログインの際に以下のような 贋の認証失敗を生成します. "authentication failure; (uid=0) -> root for sshd service" These are generated because OpenSSH first tries to determine whether a user needs authentication to login (e.g. empty password). Unfortunatly PAM likes to log all authentication events, this one included. この失敗が生成されるのは, OpenSSH は最初に, user が login に必要としている認証がどれか を決定するために 試行するからです. (例えば 空パスワードをためします) 不幸なことに, PAM はすべての認証のイベントを log に取ってしまうので, 上記の失敗も含まれてしまいます. If it annoys you too much, set PermitEmptyPasswords to "no" in sshd_config. This will quiet the error message at the expense of disabling logins to accounts with no password set. This is the default if you use the supplied sshd_config file. もしこれに非常にいらいらさせられるなら, sshd_config 中で "PermitEmptyPasswords no" としましょう. パスワードを設定しない アカウントでの login をできなくする代わりにエラーメッセージを 抑制してくれます. 提供された sshd_config ファイルを用いているなら これが default になってます. 12.Portable OpenSSH: Empty passwords not allowed with PAM authentication 12. OpenSSH の移植にて: PAM 認証で空のパスワードが許されない場合 To enable empty passwords with a version of OpenSSH built with PAM you must add the flag nullok to the end of the password checking module in the /etc/pam.d/sshd file. For example: auth required/lib/security/pam_unix.so shadow nodelay nullok PAM を用いるようにして作った OpenSSH の version で空のパスワード (認証) を有効にするには, /etc/pam.d/sshd ファイルの パスワード検査モジュールの末尾で フラグ"nullok"を 追加しなくてなりません. 例えば, auth required/lib/security/pam_unix.so shadow nodelay nullok のようにします. This must be done in addtion to setting PermitEmptyPasswords to "yes" in the sshd_config file. 加えて sshd_config ファイル中で "PermitEmptyPasswords yes"と設定 する必要があります. There is one caveat when using empty passwords with PAM authentication: PAM will allow any password when authenticating an account with an empty password. This breaks the check that sshd uses to determined whether an account has no password set and grant users access to the account regardless of the policy specified by PermitEmptyPasswords. For this reason, it is recommended that you do not add the nullok directive to your PAM configuration file unless you specifically wish to allow empty passwords. PAM 認証で空パスワードを用いる場合, 一つ注意があります. PAM は 空のパスワードを持つアカウントの認証の際, どんな_パスワードも 許してしまいます. アカウントにパスワードが設定されていないかどうかの検査を 無効にして, また "PermitEmptyPasswords"で明記されるポリシーに関わらず アカウントへのアクセスを認めてしまいます. このため, 特に空のパスワードを 許すよう設定することを望まないのであれば, PAM の設定ファイルに "nullok"命令を加えないことを推奨します. 13.X11 and/or agent forwarding does not work 13. X11 と/もしくは agent の 転送が 働かない場合. Check your ssh_config and sshd_config. The default configuration files disable authentication agent and X11 forwarding. ssh_config と sshd_config を調べましょう. デフォルトの設定ファイルでは 認証エージェントと X11 の転送は無効になっています. Mandrake Linux 7.2 also modifies the XAUTHORITY environment variable in /etc/skel/.bashrc, and thus any bash user's home directory. This will break X11 forwarding unless the following line is commented out: "export XAUTHORITY=$HOME/.Xauthority" Mandrake Linux 7.2 では /etc/skel/.bashrc 中で すなわち どの bash ユーザのホームディレクトリの .bashrc で環境変数 XAUTHORITY を を書きかえてしまいます. このままでは X11 の転送が切断されてしまうので, 次の行をコメントアウトしましょう. "export XAUTHORITY=$HOME/.Xauthority" 14.ssh takes a long time to connect with Linux/glibc 2.1 14. ssh での Linux/glibc 2.1 への接続に長い時間かかる場合. The glibc shipped with Redhat 6.1 appears to take a long time to resolve "IPv6 or IPv4" addresses from domain names. This can be kludged around with the --with-ipv4-default configure option. This instructs OpenSSH to use IPv4-only address resolution. (IPv6 lookups may still be made by specifying the -6 option). Redhat 6.1 で出荷された glibc は ドメイン名からの 「 IPv6 ないし IPv4 」の アドレスの解決に長い時間を要するようです. これは configure のオプション --with-ipv4-default によって解決することができます. このオプションは OpenSSH に IPv4 のみのアドレスの解決をするようにします. (それでも IPv6 の lookup は (ssh/sshd の)-6 オプションを明記することで行えます. ) 15.Logins from commercial ssh generate the error: Selected cipher type idea not supported by server 15. 商用の ssh でのログインが, Selected cipher type idea not supported by server というエラーを生む場合. This error is generated when a commercial ssh which has been configured to use the 'idea' cipher attempts to connect to an OpenSSH server. To rectify this, select a different cipher in ssh_config or ~/.ssh/config (3des for security or blowfish for speed). idea 暗号を用いるよう設定された商用 ssh が OpenSSH のサーバに接続しようと 試みるとき, このエラーが生じます. ssh_config ないし~/.ssh/config にて異なる暗号を指定すれば このエラーは生じません. (セキュリティ指向の 3des ないしは速度指向の blowfish ) 16.Portable OpenSSH: "Can't locate module net-pf-10" messages in log under Linux 16. OpenSSH の移植にて: Linux の log に "can't locate module net-pf-10"というメッセージが 出る場合. The Linux kernel is looking (via modprobe) for protocol family 10 (IPv6). Either load the appropriate kernel module, enter the correct alias in /etc/modules.conf or disable IPv6 in /etc/modules.conf. Linux のカーネルは (modprobe を使って) protocol family 10 (IPv6) を 探します. 1. 適切な kernel module をロードする, 2. /etc/modules.conf に 正しい alias を入力する, 3 /etc/modules.conf で IPv6 を 無効にする, のいずれかを行なえばメッセージは消えます. For some silly reason /etc/modules.conf may also be named /etc/conf.modules つまらん理由のために, /etc/modules.conf は /etc/conf.modules という名前になっているかもしれません. 17.Portable OpenSSH: Password authentication doesn't work on Slackware 7.0 17. Slackware 7.0 で Password 認証が働かない場合. Link OpenSSH with libcrypt: LIBS=-lcrypt ./configure [options] OpenSSH を libcrypt とリンクしましょう: LIBS=-lcrypt ./configure [options] 18.Portable OpenSSH: Configure or sshd complain about lack of RSA support 18. OpenSSH の移植にて: ./configure ないし sshd が RSA のサポートがないことに文句を言う場合. Ensure that your OpenSSL libraries have been built to include RSA support either internally or through RSAref. OpenSSL のライブラリが (内部でないし RSAref を通して) RSA のサポートを 含むように作られているか 確認しましょう. 19.Portable OpenSSH: "scp: command not found" errors 19. OpenSSH の移植にて:"scp: command not found" というエラーが出る場合 scp must be in the default PATH on both the client and the server. You may need to use the --with-default-path option to specify a custom path to search on the server. This option replaces the default path, so you need to specify all the current directories on your path as well as where you have installed scp. For example: ./configure --with-default-path=/bin:/usr/bin:/usr/local/bin:/path/to/scp scp はクライアントとサーバのどちらのデフォルトのパスにも 入っていなければなりません. サーバが探すパスを --with-default-path オプションを使って 特定する必要があります. このオプションはデフォルトのパスを 置き換えるので, scp をインストールする場所と同じく現在のパスの ディレクトリすべてを特定する必要があります. たとえば, ./configure --with-default-path=/bin:/usr/bin:/usr/local/bin:/path/to/scp などとします. 20.Portable OpenSSH: Unable to read passphrase 20. OpenSSH の移植にて: パスフレーズが読めない場合. Some operating systems set /dev/tty with incorrect modes, causing the reading of passwords to fail with the following error: You have no controlling tty. Cannot read passphrase. /dev/tty が正しくないモードに設定されている OS があって, 次にようなエラーとともにパスワードの読み込みの失敗を引きおこします. You have no controlling tty. Cannot read passphrase. The solution to this is to reset the permissions on /dev/tty to mode 0666 and report the error as a bug to your OS vendor. これに対する解決策は, /dev/tty のパーミッションを モード 0666 に設定しなおして, OS の vendor にエラーをバグとして 報告することです. 21.Portable OpenSSH: 'configure' missing or make fails 21. OpenSSH の移植にて: 'configure' がなかったり make が失敗する場合. If there is no 'configure' file in the tar.gz file that you downloaded or make fails with "missing separator" errors, you have probably downloaded the OpenBSD distribution of OpenSSH and are attempting to compile it on another platform. Please refer to the information on the portable version. 'configure' ファイルが ダウンロードした tar.gz ファイル中 になかったり, "missing separator" というエラーで make が失敗する 場合, OpenBSD 向けの配付をダウンロードして それを OpenBSD でないプラットフォームでコンパイルしようと したのでしょう. 移植版の情報を参照してください. 22.As an American, I am very confused about the patent issues. 22. アメリカ人としては, 特許問題に非常に混乱させられます. OpenSSH provides support for both SSH1 and SSH2 protocols. OpenSSH は SSH1,SSH2 の両プロトコルをサポートしています. SSH1 protocol uses the RSA algorithm, which was under patent till September 21, 2000 inside the USA. Outside the USA, none of these issues ever applied. SSH1 プロトコルは RSA アルゴリズムを用いており, このアルゴリズムは アメリカ国内では 2000 年 9 月 21 日までの特許を受けています. アメリカ国外では, これらの特許は適用されません. The SSH2 protocol uses DH and DSA, two other algorithms which have no nasty patent issues. If you avoid use of the SSH1 protocol, and use only the SSH2 protocol, you have nothing to worry about. However, you will need to find SSH2-compatible clients and servers for your other machines. SSH2 プロトコルは DH,DSA アルゴリズムを用いており, この 2 つのアルゴリズムはわずらわしい特許の問題はありません. SSH1 プロトコルの使用を避けたいのならば, SSH2 プロトコルのみ 使えばいいのです. 心配することはありません. しかし, 他のマシンにも SSH2 互換のクライアントとサーバが必要になるでしょう. Since the RSA patent has expired, there are no restrictions on the use of RSA algorithm using software, including OpenBSD. RSA の特許が失効したなら, OpenBSD に含まれる RSA アルゴリズムを使用したソフトウェアの 使用になんの制限もありません.