web-dev-qa-db-ja.com

スマートカードのSSH認証を設定するにはどうすればよいですか?

認証方法としてGemalto .NETスマートカードを使用して自分のマシンにSSH接続できるようにしたいのですが。これは、Fedora 13(または一般的なRed Hatスタイル)マシンでどのように実行できますか?

これらは私が必要だと思う大まかなステップです:

  1. スマートカードの証明書をプロビジョニングします(発行するCAも可能ですか?)
  2. 証明書をスマートカードに取得する
  3. スマートカード認証を許可するようにSSHサーバーを構成し、特定の証明書/ CAを使用するように構成します
  4. スマートカードをサポートするSSHクライアント(無料のWindowsベースのSSHクライアントの追加ポイント)
9
Geoff Childs

Gemaltoドライバーは今ではオープンソースだと思います。彼らは彼らのウェブサイトにソースコードを持っています。

pamモジュールを構成する必要があります(これを行う方法はわかりませんが、コードは確かにそこにあります)。 pam構成では、証明書の原則をローカルユーザーIDにマッピングする必要があると思います。

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

もちろん、これにはすべてpcscdlibpcscliteをインストールする必要があります。また、libgtop11dotnet.so/usr/libにコピーする必要があります。

2
vwduder

ケルベロスをお勧めします。 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

2
cjac

RSAキーを使用する場合、1)と2)は取るに足らないものです。これは、3)でわかるように、実際の証明書はこのコンテキストでは無関係であるためです。 cacert.orgにアクセスするか、自己署名証明書を生成するだけで準備完了です。

3)の場合は、公開鍵を抽出して$ HOME/.ssh/authorized_keysにインストールする必要があります。ファイルの所有権と権限に注意してください! (.sshの場合は700、authorized_keysの場合は600)。ホスト全体の公開鍵認証は推奨されていませんが、探究心の練習として残されています。

4)については、PuTTY SC( http://www.joebar.ch/puttysc/ )または-preferably- PuTTY-CAC(- http://www.risacher.org/PuTTY-cac/ )これは、PuTTY SCより優れた公開鍵抽出アルゴリズムで改善され、さらにKerberos-GSSAPIサポートが含まれています。 PuTTYの開発ブランチ。

1
codehead

PuttySCと SecureCRT を使用してLinuxサーバーでスマートカードを使用する方法を示すビデオを作成しました。あなたはそれをここで見ることができます: スマートカードでSSHする方法

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

カードをプロビジョニングしたら、公開鍵を抽出して、〜/ .sshd/authorized_keyに追加する必要があります。

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

認証すると、ツールはスマートカードのPINを要求します。

0