Windows」カテゴリーアーカイブ

Yubikey (スマートカード)に入れた秘密鍵を使ってSSHにログインする

ラノベのタイトルみたいになってしまった

すったもんだしてYubikeyにSSHの秘密鍵を入れるところまで行ったのだが、これを利用して、ローカルのハードディスクに秘密鍵を置かずに、SSHのログインを使用という話。クライアントはWindows,Mac,Linuxを想定している。
いままで、公開鍵暗号でのSSH接続ができていたことが前提。

Mac,Linux

Yubicoのページ( https://developers.yubico.com/PIV/Guides/SSH_with_PIV_and_PKCS11.html )のStep 4 からほぼそのままでいけた。

まずはOpenSCのインストール。Mac OSX の場合はhomebrewでインストールするのがよさ気。

brew install opensc

これだけでいける。インストール先は/usr/local/opt/openscになる。環境によっては、/usr/local/Cellar/openscになることもある。インストールされたディレクトリは以下のコマンドでも確認できる。

brew --prefix opensc

OSXはメジャーバージョンアップの際に/usr/localにものがあるとしくじる前科があるので若干心配だ。Linuxの場合は、それぞれのパッケージ管理ソフトに従う。

次に参考したページにはssh-keygenで公開鍵を取り出して、リモートホストのauthorized_keysに追加せよとあるが、今まで同じ鍵でサーバ運用していた場合は関係なし。

必要なのはpkcs11のライブラリの場所を調べてそいつがスマートカードを読み取れるかどうか。ちなみに手近のLinuxクライアントはVMware Player のDebianしかないのだが、VMのゲストOSがスマートカードを認識できないので確認できない。(no slotsというエラーが出る)

あとはsshコマンドを叩くときにIオプションでpkcs11ライブラリの場所を指定するだけ。

ssh -I /usr/local/opt/opensc/lib/opensc-pkcs11.so remotehost

こうするとYubikeyの中の秘密鍵を使ってセッションを確立します。しかしこれを毎回打つのは面倒なので、~/.ssh/configに記述しておきます。私の場合はこんな感じ。

Host hoge
        Hostname          hoge.example.jp
        Port              12345
        PKCS11Provider    /usr/local/opt/opensc/lib/opensc-pkcs11.so

 

4行目に書いてあるPKCS11Providerが追加されたところ。

Windows

WindowsのSSHクライアントといえば、TeratermかPuttyが思い浮かぶ。そんな人に手っ取り早いのが、Puttyの中に入っているPageantを使う方法。認証エージェントですが、スマートカード対応版があります。Puttyシリーズをスマートカード対応にしているPutty-CACというプロジェクトがあってバイナリを公開しています。

SSHサーバに接続するだけなら、Putty本体とTeratermでも使えるPageantをダウンロードするだけで大丈夫です。

Puttyそのものの使い方は割愛しますが、接続先ホストの設定でConnection-SSH-Certificationとすすみ、Attempt Certification Authentication にチェックを入れて、Set CAPI certで証明書を選び、PIN入力が出てくれば接続可能です。

同じようにpageantにも証明書を指定しておき、Teratermで接続する際にSSH認証で、pageantを使う、でPIN入力が出てくれば接続可能です。

pageantはOS起動時に起動させれば良いと思います。

その他

それにしてもECDSAの鍵を使えないのが痛い。。。

Windows 8 の記憶域プールの覚書2

前回からのつづきになります。

記憶域プールはプールに物理ディスクを次々と追加できるのがメリットですが、WIndows 8 で用意されているGUIはあまり追加削除が考慮されていないように感じます。GUIだけではできないことも多数で、 PowerShell という管理用のコマンドが必須になります。

Power Shell は WIndows 8 では標準でインストールされており、 検索で探しだしてタスクバーにでもピン止めしておくと便利でしょう。起動したら右クリックで管理者で起動が必要なようです。

続きを読む

Photoshopで「仮想タイルはこれ以上割り当てられません。」の対処法

Windows 7 64bit で Photoshop CS5 を使っているのだけれど、ある日から「仮想タイルはこれ以上割り当てられません。」というエラーを見かけるようになった。少し重たい作業をやるときに出るようで、仮想メモリあたりの問題らしい。

こういった現象が出る前後でPCの環境が変わっており、HDDからSSDへの換装を行い、複数ドライブあったディスクの構成がCドライブだけになった。もとは仮想メモリのディスクをDに割り当てており、これが原因だとは推測できていた。

予想はつくのだけれど、日本語の情報がほとんどなく、「仮想タイルはこれ以上割り当てられません。」の元のエラーメッセージ「No more virtual tiles can be allocated.」で検索をしたら、結構あっさりと見つかった。参考にしたのは以下のURL。

続きを読む