Jak nastavit SSH a OpenSC
Návod v kostce: Jak použijete svoji kartu PKI ke své identifikaci na vzdáleném stroji pro přístup bez hesla.
V současnosti nemá SSH klient v Debianu ani v Ubuntu zkompilován OpenSC. Doufám, že to bude opraveno v následujících verzích, takže mezitím musíte přidat řádky deb-src do svého souboru /etc/apt/sources.list.
Například:
deb-src http://au.archive.ubuntu.com/ubuntu breezy main restricted universe deb-src http://au.archive.ubuntu.com/ubuntu breezy-updates main restricted universe deb-src http://security.ubuntu.com/ubuntu breezy-security main restricted universe
Dále:
cd /usr/src
a pak:
apt-get update apt-get install libopensc1-dev sharutils apt-get source openssh-client
- Musíte nastavt pracovní adresář openssh-x (x zastupuje verzi balíčku).
- Upravte debian/rules, hledejte ../configure a na konec obou řádků přidejte "--with-opensc".
- Upravte debian/changelog - změňte verzi v prvním řádku tak, že když proběhne další upgrade, nesmaže Váš balíček: například 1ubuntu1 na 1ubunut2.
Nyní můžete spustit vytváření nových balíčků, ačkoli skoro jistě postrádáte balíčky "dev" a bude potřeba instalovat je a restartovat pak vytváření balíčků.
./debian/rules binary-arch
Po úspěšném vytvoření balíčků je můžete instalovat.
dpkg -i ../ssh-askpass-gnome*.deb ../openssh-client*.deb
Kvůli "tupému" naprogramování potřebujete pokaždé spustit ssh-agent a sdělit to své kartě. V následujícím příkladu je 0 čtečka karet a 45 je ID souboru na kartě. Zadejte příkaz pkcs15-tool -k|grep ID pro zjištění ID souboru, jste-li na pochybách, ale standardně vyhoví 0:45.
eval `ssh-agent` ssh-add -s0:45
Potřebujete vyexportovat svůj veřejný klíč ssh, abyste ho mohli posílat vzdáleným serverům.
ssh-keygen -D 0:45
Skončete něčím jako:
ssh-rsa AAABBBNUHqliylKxKsmwWyJxu6HjIAah3MmtTu0HyAf+vCNCW0u13itLg4E58viqROq8Vh/XzGAF2lB5Q== 1024 65537 11560447490493365780302623827316452093555581678043295974453571605676666647036389
Na počítači, kam se chcete přihlásit bez použití hesla zkopírujte předešlé řádky do účtu uživatele, k němuž se chcete přihlásit. Například ~root/.ssh/authorized_keys zajistěte, aby tam byly pouze tyto 2 řádky a nedošlo k jejich rozdělení, jinak to nebude fungovat.
Teď se můžete přihlásit ke vzdálenému počítači a ten by se měl prostě připojit bez žádosti o heslo.
ssh -I0:45 <myhost.myisp.com>