だから多くの人のように、私は次のツールの助けを借りてSSH認証にGPGキーを使用します。サルボール、コマンドを使用して秘密鍵をエージェントにロードし、monkeysphere s
パスワードなしで任意の場所に自由に接続できます。
最近Arch Linuxシステムを更新しましたが、GnuPG 2.0がMonkeysphereと互換性のないGnuPG 2.1に置き換えられていることがわかりました。 GPG 2.1 はgpg-agent
Monkeysphere が不要にする改善を提供していますが、使い方に関する明確なガイダンスを見つけるのに苦労しています。
Monkeysphereで可能なのと同じ結果を得るためにGPG 2.1を設定する方法(プライベートキーをメモリに一度ロードして次の接続ごとに使用)を説明できる人はいますか?
答え1
私はあなたがssh.comドキュメントで扱うこの点を探していると思います。PGPコア部分。
抜粋SSH Secure Shellは、OpenPGP規格とその規格に準拠したPGPプログラムのみをサポートしています。 GnuPG は以下のガイドラインで使用されます。 PGPを使用する場合の唯一の違いは、ファイル拡張子がGnuPGPのgpgの代わりにpgpであることです。
ユーザー公開鍵認証を有効にするには、
AllowedAuthentications
リモートファイルとローカルファイルの両方のフィールドに「publickey」という単語を含める必要があります。/etc/ssh2/sshd2_config
/etc/ssh2/ssh2_config
AllowedAuthentications publickey
他の認証方法も構成ファイルにリストできます。プライベートキーリング()をローカルディレクトリ
secring.gpg
にコピーします。ローカルディレクトリにIDファイルがまだない場合は、IDファイルを作成します。 ID ファイルに次の行を追加します。~/.ssh2
~/.ssh2
PgpSecretKeyFile <filename of the user's private key ring> IdPgpKeyName <name of the OpenPGP key in PgpSecretKeyFile> IdPgpKeyFingerprint <fingerprint of OpenPGP key in PgpSecretKeyFile> IdPgpKeyId <id of the OpenPGP key in PgpSecretKeyFile>
公開キーリング()をリモートディレクトリ
pubring.gpg
にコピーします。~/.ssh2
scp2 pubring.gpg user@remote_host:.ssh2
リモートディレクトリに認証ファイルを作成します
~/.ssh2
。認証ファイルに次の行を追加します。PgpPublicKeyFile <filename of the user's public-key ring> PgpKeyName <name of the OpenPGP key> PgpKeyFingerprint <fingerprint the OpenPGP key> PgpKeyId <id of the OpenPGP key>
Secure Shellを使用してローカルからリモートでログインできるようになりました。ログインしてみてください:
Local>ssh Remote Passphrase for pgp key "user (comment) <user@Local>":
PGP キーのパスワードを入力すると、Secure Shell 接続が確立されます。
引用する
答え2
ssh-agent プロトコルのサポートを有効にするには、gpg-agent に指示します。実行して開始
--enable-ssh-support
または配置することで実行できます。enable-ssh-support
入力する
~/.gnupg/gpg-agent.conf
。エージェントに教えてください。どのSSH認証に使用するキー(キーには次のものが必要です。ㅏ(確認)能力)。あなたは見つける必要があります主なポイントキーリストを作成するには、
--with-keygrip
次のようにキーをリストします。gpg2 --with-keygrip -k <your email>
キーグリップ(または複数のキーのキーグリップ、1行に1つずつ)を
~/.gnupg/sshcontrol
。2.1以降、プロキシはリスニングソケットに静的パスを使用します。 sshが正しいソケットを指すように、以下を追加するだけです。
export SSH_AUTH_SOCK="$HOME/.gnupg/S.gpg-agent.ssh"
いくつかのスタートアップファイル(
~/.xsession
または~/.bashrc
適切なファイル)。