Linux SSH

If the ssh-client don't support smartcards you'll have to recompile it with:

tar zxvf openssh-x.y.z.tar.gz
cd openssh-x.y.z
./configure --with-opensc
make
make install

Setup your account on the remote server:

han@plup:~$ pkcs15-tool -k
---
Private RSA Key [key aut + enc]
Com. Flags : 3
Usage : [0x2E], decrypt, sign, signRecover, unwrap
Access Flags: [0x18], neverExtract, local
ModLength : 1024
Key ref : -1
Native : yes
Path : 3f0050154b01
Auth ID : 01
ID : bbaf8cc8437e03662a8c1ba95364abda935cbd32
---
Private RSA Key [c1469ad6-6182-4930-926b-ea9acce60c41]
Com. Flags : 3
Usage : [0x2E], decrypt, sign, signRecover, unwrap
Access Flags: [0x18], neverExtract, local
ModLength : 1024
Key ref : -1
Native : yes
Path : 3f0050154b03
Auth ID : 01
ID : 63313436396164362d363138322d343933302d393236622d6561396163636536
---
Private RSA Key [key sign]
Com. Flags : 3
Usage : [0x2E], decrypt, sign, signRecover, unwrap
Access Flags: [0x18], neverExtract, local
ModLength : 1024
Key ref : -1
Native : yes
Path : 3f0050154b02
Auth ID : 02
ID : 239de190ac0ec55e3ea85fbb216806465fb8e04e

On your local PC you'll have to download the public key on the card to be installed on the remote server (select the key's id marked as: "[key aut + enc]")

han@plup:~$ pkcs15-tool --read-ssh-key bbaf8cc8437e03662a8c1ba95364abda935cbd32
---
1024 65537 95018506507744620128986322219534937631611833948887847966175332702298439650944421037605287230590467560698499704525964670823327945378197235740507489619662535052742856234673181311141105748432052535086877901737010435630727522748846607634089833789905116870581233083711980118230070144584550443786945001934009292703
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCHT5OFVGPYhHZIWLIM3czdGgp+LBVRZ1GOohUGcieBJBD9/Z7n8TO8P2W2fY6lJUiiV1J2m+PmNnGwkP+IT1UI+W1zDo+TEb1JJLU/AHyghE2JMvbcErm3nVJInZxwnGmhLs8bfGP8G6R5yHW1/wgOR1l2oh5AGa/JDHyZ4pZXnw==

On the server you have to add the public key like this:

cat >> /home/youraccount/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCHT5OFVGPYhHZIWLIM3czdGgp+LBVRZ1GOohUGcieBJBD9/Z7n8TO8P2W2fY6lJUiiV1J2m+PmNnGwkP+IT1UI+W1zDo+TEb1JJLU/AHyghE2JMvbcErm3nVJInZxwnGmhLs8bfGP8G6R5yHW1/wgOR1l2oh5AGa/JDHyZ4pZXnw==
(press ctrl-d to mark end of input)

Now you'll be able to use the ssh-client like this:

ssh -I 0 server.company.com

Troubleshooting

foo