スマートカードSSH認証をどのように設定しますか?

スマートカードSSH認証をどのように設定しますか?

認証方法としてGemalto .NETスマートカードを使用してSSH経由で自分のコンピュータに接続したいと思います。 Fedora 13(または通常のRed Hatバージョン)システムでこれをどのように実行できますか?

私が考えるおおよそのステップは次のとおりです。

  1. スマートカードの証明書を提供してください(そしてそれを発行するCAもありますか?)
  2. スマートカードに証明書を書き込む
  3. スマートカード認証を許可するようにSSHサーバーを構成し、特定の証明書/ CAを使用するように構成します。
  4. スマートカードをサポートするSSHクライアント(無料のWindowsベースのクライアントのボーナスポイント)

答え1

私はGemaltoドライバがオープンソースだと思います。ソースコードはそのウェブサイトで確認できます。

モジュールを設定する必要がありますpam(これを行う方法はわかりませんが、コードは間違いなくそこにあります)。pam証明書ポリシーをローカルユーザーIDにマップする必要性を設定したいと思います。

GDMはスマートカードをサポートしていると思いますが、それをどのように検出するのかわかりません。後で調べてみましょう(最も簡単な方法はおそらくgdmソースコードを見ることです)。

もちろん、これらすべての作業にはpcscdインストールが必要ですlibpcsclitelibgtop11dotnet.soにもコピーする必要があります/usr/lib

libgtop11dotnet.soのソースコードをコンパイルします。https://github.com/AbigailBuccaneer/libgtop11dotnet

答え2

ケルベロスをお勧めします。 MITはkrb5クライアントとサーバーを生成します。

vwduder、スマートカードリーダー、およびFIPS-201互換カードソースをお勧めできますか?

http://csrc.nist.gov/publications/fips/fips201-1/FIPS-201-1-chng1.pdf

私のサーバーにコピーがありますが、今はこのスタックトレースで共有するほど人気が​​ありません。上記は、私たちのサーバーよりも少し安定性があるため、おそらくそのサーバーから入手できます。 ;)

[編集]私は今十分に人気があります!

http://www.colliertech.org/state/FIPS-201-1-chng1.pdf

答え3

1) と 2) は、RSA 鍵を使用する際のマイナーな作業です。 3)に示すように、このコンテキストでは実際の証明書が重要ではないからです。 cacert.orgにアクセスするか、自己署名証明書を生成してください。

3) の場合、公開鍵を抽出して $HOME/.ssh/authorized_keys にインストールする必要があります。ファイルの所有権と権限に注意してください! (.ssh の場合は 700、Authorized_keys の場合は 600) ホスト範囲公開鍵認証の使用は推奨されませんが、好奇心を刺激すると考えられます。

4)についてはPuTTY SC(http://www.joebar.ch/puttysc/)または - 好ましくは - PuTTY-CAC(http://www.risacher.org/putty-cac/)PuTTY SCを改善し、より良い公開鍵抽出アルゴリズムを提供し、PuTTY開発ブランチのKerberos-GSSAPIサポートも含まれています。

答え4

PuttySCとLinuxサーバーを使ってスマートカードを使う方法を映像にしてみました。セキュアCRT。ここで見ることができます:スマートカードを使用してSSHを使用する方法

カードに証明書を設定する方法については説明しませんが、これを行う場合は、カード管理システムを使用してカードの管理キーを変更する必要があることに注意してください。会社がスマートカードを提供することは、この部分について心配する必要がないため、はるかに簡単になります。

カードを設定したら、公開鍵を抽出して〜/.sshd/authorized_keyに追加する必要があります。

サーバーに接続するには、PuttySCやSecureCRTなどのツールを使用できます。カード用のPSKC#11ライブラリをインポートする必要があります(スマートカードの製造元またはオープンソースバージョンから)。ライブラリを使用してSSHツールを設定したら、それを読み、証明書を見つけることができるはずです。

認証すると、ツールはスマートカードPINの入力を求められます。

関連情報