凄くニッチな需要だと思うメモ。
ssh接続自体は公開鍵認証で楽ちんログインしてるんだけど…
- 接続先サーバで
su
する際のパスワードを覚えてられない - パスワードを変更する権限が自分にないし、NOPASSWORDでsudoする設定も禁止
- 接続先サーバ上にpassword.txtとかっていうあからさまなメモを置くのもはばかられる
などという理由で仕方なく毎回自分の手元にあるパスワードメモファイルを探して開いてコピペするという作業をしてる人用の設定。
~/.ssh/config
Host example.jp
User oreore
PermitLocalCommand yes
LocalCommand echo 'rootの成り方: sudo su #pass:xyzabc'
こんな風にしておけばログインした時に、コピペ用のパスワードがぶっちゃけ表示されますw
もちろんセキュリティ的にはアレなので、ローカルの~/.ssh/configの管理をしっかりした上に、ショルダーハックされないような状況でしか使うべきではないので、多用厳禁ですよ!
でも年に1度入るかどうかていうサーバのパスワードとか正直覚えてないし、そのサーバ情報の資料を探すのも大変な時があるのでね、うん…。
ちなみに oreore でログイン後、oreore_admin に一度su
して、更にoreore_admin状態でsudo su
する必要があるような場合は↓こんなふうにすれば一発でsuとsudo suが出来るのでこれをechoしとくもよし。
su oreore_admin --session-command "exec sudo su" #pass:xyzabc
suでコマンド実行するときは -c てオプションもあるけどsudoの場合は普通ttyを要求されるので --session-command オプションの方を使うのが良い。