指定されたuser1 /クライアントから同じuser2 /サーバーへの複数のSSHアクセスタイプ

指定されたuser1 /クライアントから同じuser2 /サーバーへの複数のSSHアクセスタイプ

user1@cl2つの異なるアクセスタイプを使用して、SSHを介して1つのユーザー/クライアントの組み合わせ(たとえば)からユーザー/サーバーの組み合わせ(たとえば)にアクセスしようとしています。user2@srv

  1. アクセスタイプ#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. アクセスタイプ#2はログインシェルです。そのために、~user2/.ssh/authorized_keys以下のように「一般」行(#2)を追加しました。

    ssh-rsa ... user1@cl
    

私が理解している限り、私のテストでは、両方の行を同時に使用することはできません。つまり、最初の行が表示されたら~user2/.ssh/authorized_keysbzrリポジトリと対話できますが、実行することはできません。

[user1@cl]$ ssh user2@srv

ライン#2が最初に現れたら~user2/.ssh/authorized_keysそうすることができますが、sshbzrをしても

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

  1. クライアントコンピュータとuser1同じ2つのキーを生成します。特に強力なセキュリティ問題がない場合は、そのうちの1つに空のパスワードを提供できます(例:)。/home/user1/key1/home/user1/key2key1
  2. 次のコマンドを使用して、両方のキーをサーバーにコピーします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]
    
  3. サーバーで編集~user2/.ssh/authorized_keysしてcommand="bzr ..." 最初のキーに追加します。

  4. ~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
    
  5. ここでbzr+ssh://alias1forbazaarおよびssh alias2ログインシェルとして使用します。

~/.ssh/configあなたの要件、フレーズ、およびに合わせてさらに編集してください/etc/ssh/ssh_config

おすすめ記事