[SSH] 同じホストに別ユーザーで公開鍵認証

目次

やりたいこと

あるホスト(hoge.local)に個人アカウント(user)と管理者アカウント(admin)でログインする機会があるとします。 (訳あってuserにsudoを与えられない)
Host hoge-user
    User user
    IdentityFile ~/.ssh/hoge_user_rsa
    ...
Host hoge-admin
    User admin
    IdentityFile ~/.ssh/hoge_admin_rsa
    ...
と書いて
$ ssh hoge-user # userでログイン
$ ssh hoge-admin # adminでログイン
と接続先を切り替えてもいいのですが、
$ ssh hoge # userでログイン
$ ssh hoge -l admin # adminでログイン
みたいな感じでuserでのログインをデフォルトに、ユーザー名を指定したときはadminでログインしたい場合どうすればいいかという話。

設定

sshのconfigでは1ホストに対して複数の秘密鍵を設定でき、適切に使い分けてくれるので
Host hoge
    User user
    IdentityFile ~/.ssh/hoge_user_rsa
    IdentityFile ~/.ssh/hoge_admin_rsa
    ...
とすることでやりたいことが実現される。
カテゴリー:サーバ
記事作成日:2018-07-24