user1@cl
2つの異なるアクセスタイプを使用して、SSHを介して1つのユーザー/クライアントの組み合わせ(たとえば)からユーザー/サーバーの組み合わせ(たとえば)にアクセスしようとしています。user2@srv
アクセスタイプ#1は、Bazaarリポジトリとの対話に制限されています。これを行うために1行を追加しました(#1
~user2/.ssh/authorized_keys
)。command="bzr serve --inet --directory=/repodir --allow-writes",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa ... user1@cl
アクセスタイプ#2はログインシェルです。そのために、
~user2/.ssh/authorized_keys
以下のように「一般」行(#2)を追加しました。ssh-rsa ... user1@cl
私が理解している限り、私のテストでは、両方の行を同時に使用することはできません。つまり、最初の行が表示されたら~user2/.ssh/authorized_keys
bzrリポジトリと対話できますが、実行することはできません。
[user1@cl]$ ssh user2@srv
ライン#2が最初に現れたら~user2/.ssh/authorized_keys
そうすることができますが、ssh
何bzr
をしても
bzr: ERROR: Not a branch ...
この問題を解決する方法はありますか?
私はRHEL7を使用していますが、それは重要ではないと思います。
関連記事(しかし、私が知っている限り私の状況に言及しない):
https://stackoverflow.com/questions/2419566/best-way-to-use-multiple-ssh-private-keys-on-one-client
https://serverfault.com/questions/142997/what-options-can-be-put-into-a-ssh-authorized-keys-file
https://serverfault.com/questions/749474/ssh-authorized-keys-command-option-multiple-commands
https://askubuntu.com/questions/1962/how-can-multiple-private-keys-be-used-with-ssh
答え1
- クライアントコンピュータと
user1
同じ2つのキーを生成します。特に強力なセキュリティ問題がない場合は、そのうちの1つに空のパスワードを提供できます(例:)。/home/user1/key1
/home/user1/key2
key1
次のコマンドを使用して、両方のキーをサーバーにコピーします
ssh-copy-id
。ssh-copy-id -i ~/.ssh/key1 [email protected] ssh-copy-id -i ~/.ssh/key2 [email protected]
両方にログインして機能していることを確認してください。
ssh -i ~/.ssh/key1 [email protected] ssh -i ~/.ssh/key2 [email protected]
サーバーで編集
~user2/.ssh/authorized_keys
してcommand="bzr ..."
最初のキーに追加します。~user1/.ssh/config
ファイルを編集して両方のキーのエイリアスを追加するには、クライアントコンピュータに戻ります。このような:Host alias1 HostName server.example.com User user2 IdentityFile /home/user1/.ssh/key1 ControlPath ~/.ssh/ctl1-%u-%r-%h-%p ControlMaster auto ControlPersist 5m Host alias2 HostName server.example.com User user2 IdentityFile /home/user1/.ssh/key2
ここで
bzr+ssh://alias1
forbazaar
およびssh alias2
ログインシェルとして使用します。
~/.ssh/config
あなたの要件、フレーズ、およびに合わせてさらに編集してください/etc/ssh/ssh_config
。
答え2
bzr
ssh
機能するために、2つの異なるキーペア(ログイン用ペア1、ログイン用ペア2)を使用しました。に対応する行を追加しました~user2/.ssh/authorized_keys
。秘密鍵 1 は file id_rsa
(基本読み取り) に保存され、秘密鍵 2 は file に保存されますid_rsa_ssh
。
その後、うまくbzr
動作し、ログインするために次を使用します。
[user1@cl]$ ssh -i id_rsa_ssh user2@srv
これは代替IDの使用を提案します。