OpenSSHのデフォルト設定



前回からの続き。



SSH接続できない理由は、OpenSSHのバージョンアップに伴うバイナリの標準動作の変更があったからだった。



借りているホスティング側で基本的にOpenSSHのバージョンアップは行うのだが、sshd_configを借り手カスタマイズしている場合には、sshd_configファイルは変更されない。



OpenSSHのバージョンアップに伴い、以下を変更しておかなければならなかったのだ。



----------------------------------------
 /etc/ssh/sshd_config



 #PasswordAuthentication yes
       ↓ 
 PasswordAuthentication yes



----------------------------------------



コメントアウトをはずしておかなければならなかったらしい。



....orz



今回の件で少し勉強になった。



というのも、



設定を見直す中で、sshd_configファイルの設定のほとんどが"#"コメントアウトされているのに、なぜ接続できる(できた)んだろうと不思議だったのだ。



調べてみれば何のことはない。



設定ファイル(sshd_config)があれば、OpenSSHをインストールするだけでSSH接続できるようになるのだ。



さらに自分なりに設定したければ、sshd_configをいぢればいいという、たぶんちゃんと知っている人には常識と思われることを今まで私は知らなかったのだ。



で、



OpenSSHインストール時のデフォルト設定を知りたいと思ったんだがその記述がどこにあるのか分からない(^^;



たぶん、
sshd_configを読んでいくと、デフォルトでYesとかNoとかの説明部分はコメントアウトしていれば、そのデフォルトが適用されていて、YesNoの記述がない項目はそのままで設定されていると理解すればいいのだと思ってみることにする。



こちら、http://www.koka-in.org/~haruyama/ssh_koka-in_org/0/25.html が参考になった。



   

      Index:
      [Article Count Order]
      [Thread]
   

   
   

       
Date: Wed, 3 Jul 2002 14:54:32 -0400
From: Yusuke Shinyama <yusuke@cs.nyu.edu>
Subject: [ssh:00025] unreliable sshd_config (Re: アップデートについて)
To: ssh@koka-in.org
Message-Id: <20020703145432.A24947%yusuke@cs.nyu.edu>
In-Reply-To: <20020703133632.A24847%yusuke@cs.nyu.edu>
References: <200207031458.g63EwOlr001084@smtp21.mf.home.ne.jp>
<20020703133632.A24847%yusuke@cs.nyu.edu>

X-Mail-Count: 00025


そういえばアップデートの話で思い出したのですが、
デフォルトで配布されている sshd_config ファイルは誤解を招きやすいと思います。
sshd_config もバージョンが上がるごとに変わっていますが、
このファイルには以下のような人を混乱させる特徴があります:

(本当はこれはopenssh-devの人々に言うべき話題なんで、以下は叩き台という感じで
書いています。時間があったらあっちに話をふってみようと考えています)

1. 明示的に書かれている設定項目、コメントで書かれている設定項目、そして
   書かれていない設定項目がある

  2.9p1 までのデフォルトの sshd_config では、
  多くの設定項目が明示的に指定されていたが、いくつかの設定項目は
  コメントアウトされて書かれていた。しかし、まったくどこにも書かれていない
  設定項目 (GatewayPorts など) もあった。
  3.0.1p1 以降は sshd_config はすべてコメントアウトになっているが、
  あいかわらず GatewayPorts などはコメントでも書かれていない。
  いっぽう、クライアントの ssh_config は昔からすべてコメントアウトになっている。

2. sshd_config ですべてを指定しなくても sshd は動作する

  sshd_config で指定されていない設定項目 (3.0.1p1 以降のデフォルトでは、すべて) には、
  「sshd 埋め込み」の設定が使用される。これは openssh/servconf.c のコード中に
  ハードコーディングされている設定で、sshd_config だけを見てもこの内容すべては
  わからない (なぜなら 1. で述べたように、すべての項目が sshd_config に
  書かれているわけではないから)。

  しかも、このハードコーディングされている設定はバージョンアップごとに変わっている。
  デフォルトで配布される「コメントつき sshd_config」をちょっといじって使っている人間にとっては、
  SSH をアップデートした際、いままでは気にもしていなかった部分が勝手に変わられるのは迷惑だ。
  しかし、この変更内容を追うにはリリースノートを見るか、
  manページ(manページにはほとんどの設定項目のデフォルト値が書いてある) の diff をとるか、
  servconf.c の diff を取って解析するか、のいずれかをしなければならない。
  これは苦痛である。

3. デフォルトの sshd_config のコメントが間違っている場合がある

  現在のデフォルト sshd_config では、コメントアウトされた項目に sshd の
  デフォルト設定値が書かれているらしい。たとえば KerberosAuthentication なら、

    # Kerberos options
    #KerberosAuthentication no

  などのようになっている。これはコメントなので、実際にはこの値は参照されず、
  KerberosAuthentication を指定しない場合のふるまいは openssh/servconf.c に
  あるハードコーディングされている設定によって決められることになる。
  が、ユーザはふつうそんな細部までは見ないので、このコメントを信用することになる。
  しかしこのコメントは正しくない場合がある。
  たとえば 3.0.1p1 の sshd_config では

    #KerberosAuthentication no

  と書かれていたが、servconf.c をみてみると KerberosAuthentication について
  何も指定されなかった場合、keyfile が存在するときは自動的にこの値が yes になるように
  書かれている。これを反映してか、3.1p1 では

    # KerberosAuthentication automatically enabled if keyfile exists
    #KerberosAuthentication yes

  というただしがきがついている。ちなみに 3.3p1 からは完全に

    #KerberosAuthentication no

  になり、servconf.c の中でもこの自動判定のコードは削除された。
  デフォルトはつねに KerberosAuthentication no である。
  しかし sshd_config とハードコーディングな設定の一致が保証されたわけではない。


で、ぼくの個人的意見としては、以上のような混乱はそもそも
servconf.c にハードコーディングされた設定などというものが存在しているから
悪いんであって、以下のように改善すれば混乱はなくなると思います:

  a. sshd の設定はすべて sshd_config に書かれた値のみに従うことにする。
     servconf.c に設定をハードコーディングするということはしない。

  b. sshd_config には sshd の設定項目すべてが書かれていなければならない。
     ひとつでも足りなかった場合や(重複できない項目が)重複していた場合、
     sshd は起動しないようにする。
     (どのみちいまでも sshd_config がなければ sshd は起動しないのに、
      その内容はぜんぶコメントでもいい、というのは変です)

  c. OpenSSH パッケージではすべての「デフォルト設定」が明示的に書かれた
     sshd_config ファイルを配布する。
     そうすればデフォルト設定が変わったときに、sshd_config のdiffをとるだけで
     どの設定項目が変わったのかを確実に知ることができる。

これはたぶん批判がある提案だろうとは思いますが、
最近の openssh 設定の変わりかたを見ると、これくらい厳格になっても
いいような気がするのですが、どうでしょうか。

Yusuke

   


と、



Date: Thu, 04 Jul 2002 04:32:08 +0900
From: NISHI Takao <zophos@Dadd9.com>
Subject: [ssh:00026] Re: unreliable sshd_config (Re: アップデートについて)
To: ssh@koka-in.org
Message-Id: <m3wusck3pj.wl@sizz.Dadd9.com>
In-Reply-To: <20020703145432.A24947%yusuke@cs.nyu.edu>
References: <200207031458.g63EwOlr001084@smtp21.mf.home.ne.jp> <20020703133632.A24847%yusuke@cs.nyu.edu> <20020703145432.A24947%yusuke@cs.nyu.edu>
X-Mail-Count: 00026


にし@おかやまです。



At Wed, 3 Jul 2002 14:54:32 -0400,
Yusuke Shinyama wrote:



>   a. sshd の設定はすべて sshd_config に書かれた値のみに従うことにする。
>      servconf.c に設定をハードコーディングするということはしない。
>
>   b. sshd_config には sshd の設定項目すべてが書かれていなければならない。
>      ひとつでも足りなかった場合や(重複できない項目が)重複していた場合、
>      sshd は起動しないようにする。
>      (どのみちいまでも sshd_config がなければ sshd は起動しないのに、
>       その内容はぜんぶコメントでもいい、というのは変です)
>
>   c. OpenSSH パッケージではすべての「デフォルト設定」が明示的に書かれた
>      sshd_config ファイルを配布する。
>      そうすればデフォルト設定が変わったときに、sshd_config のdiffをとるだけで
>      どの設定項目が変わったのかを確実に知ることができる。
>
> これはたぶん批判がある提案だろうとは思いますが、
> 最近の openssh 設定の変わりかたを見ると、これくらい厳格になっても
> いいような気がするのですが、どうでしょうか。



c.については同感ですが,a.とb.をやっちゃうと,sshdをルータなどの機器に組
込みたい場合などに,不要なエントリを削ってディスク(あるいはROM)容量を節
約するといったことが不可能になりますのでちょっと抵抗を覚えます。



わたしはservconf.h(もしくは専用のヘッダファイル)でデフォルト値をdefineし
ておいて,make時にその値を元にデフォルトのsshd_configを動的に生成するよ
うにすれば,デフォルト値の明示という問題は解決できるように思います。


はあ、なるほどなるほど(わかってない)



まあ、そんなこんなでSSH接続は復旧しましたとさ。



****



memo







コメント
コメントする








   
この記事のトラックバックURL
トラックバック

calendar

S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 
<< July 2020 >>

(´・ω・)<あまぞーん

selected entries

categories

archives

recent comment

  • 民主党最強のブーメラン使い。鳩山首相の長男を襲う(笑)
    ecco mens shoes
  • "hoge.xlsx"を"DL"したら"hoge.zip"になった件
    stussy clothing
  • 定山渓熊牧場の羆があれから約1年で半分くらいになっちゃったみたいなんですけどね。
    茉里ママ
  • 定山渓熊牧場の羆があれから約1年で半分くらいになっちゃったみたいなんですけどね。
    茉里ママ
  • 定山渓熊牧場の羆があれから約1年で半分くらいになっちゃったみたいなんですけどね。
    AGGY
  • 定山渓熊牧場の羆があれから約1年で半分くらいになっちゃったみたいなんですけどね。
    名無し
  • 定山渓熊牧場の羆があれから約1年で半分くらいになっちゃったみたいなんですけどね。
    第一書記
  • 最近「定山渓クマ牧場」が気になっているのだが
    AGGY
  • 最近「定山渓クマ牧場」が気になっているのだが
    鷹氏
  • アメブロの改行がやたらと多い理由をいまごろ知ったよ。
    RIP

recent trackback

recommend

CYBER・D端子ケーブル(Wii用)
CYBER・D端子ケーブル(Wii用) (JUGEMレビュー »)

価格も安くてクッキリ画質。すべてのWiiユーザーにオススメ。

recommend

僕の私の塊魂 PSP the Best
僕の私の塊魂 PSP the Best (JUGEMレビュー »)

ミュージックもステキです。

recommend

パタポン2 ドンチャカ ♪
パタポン2 ドンチャカ ♪ (JUGEMレビュー »)

中毒性アリ。イージーモードならリズム感それほど必要ナシ。

recommend

ドラゴンクエストIX 星空の守り人
ドラゴンクエストIX 星空の守り人 (JUGEMレビュー »)

ロシアでもすれ違い通信が出来るのだろうか?

recommend

recommend

トップをねらえ! Vol.1
トップをねらえ! Vol.1 (JUGEMレビュー »)

主人公はノリコ。主題歌は酒井法子。主題歌の人はともかく作品は必見です。

recommend

recommend

recommend

コンティニューvol.50
コンティニューvol.50 (JUGEMレビュー »)
鶴巻 和哉,貞本 義行,中村 佑介,仲村 みう,谷口 悟朗

recommend

Cut (カット) 2009年 08月号 [雑誌]
Cut (カット) 2009年 08月号 [雑誌] (JUGEMレビュー »)

メガネ美人はかわいさ2割り増し。

links

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM