SSHでパスワードなしログイン & sudo

日々の作業で複数のサーバに1台1台ログインするのがめんどくさい><
という場合は「SSHでパスワードなしログイン & sudo」できるようにしちゃうという手があります。
※セキュリティや作業ミス時の影響範囲などを十分に考慮する必要があります!!!


以下、CentOSでの設定手順です

管理サーバから各サーバに鍵を通す

[mikeda@admin ~]$ ssh-keygen 
Enterオラオラ
[mikeda@admin ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub test-sv01
[mikeda@admin ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub test-sv02
...

(もしくはOSインストール時に.ssh/authorized_keysを登録しときましょう)


必要であればSSHクライアントの設定をいじります
・初回ログイン時にyes/no聞かれなくなる
・サーバ入れ替え等でホストのキーが代わってもエラー終了しなくなる

[mikeda@admin ~]$ vi .ssh/config
host *
          stricthostkeychecking no
[mikeda@admin ~]$ chmod 600 .ssh/config

各サーバでSSH経由でパスワードなしsudoを可能にする

[root@test-sv01 ~]# visudo
#Defaults    requiretty ←コメントアウト

mikeda ALL=(ALL) NOPASSWD:ALL


SSHでsudoできるようになりました

[mikeda@admin ~] $ ssh test-sv01 'hostname;sudo whoami'
test-sv01
root


しつこいですが、セキュリティや作業ミス時の影響範囲などを十分に考慮する必要があります!!!