場合によっては、複数のサーバーにログインして root に切り替える必要があります。
今私のSSH設定は次のようになります
Host *
User xxx
Port 32200
Host hostnamexxx
HostName xxx.xxx.xxx.xxx
IdentityFile /root/.ssh/id_rsa
サーバーにのみログインし、パスワードを使用して自動的にrootに切り替えるようにローカル(ssh)設定を変更できますか?
しかし、暗号化されていないファイルにパスワードを保存することは安全性が低いように見えます。
ベストアンサー1
ログイン後、rootとして「切り替え」する代わりにrootとしてログインできますssh
。
設定ファイルに次の行を追加できますUser root
。
Host hostnamexxx
HostName xxx.xxx.xxx.xxx
User root
IdentityFile /root/.ssh/id_rsa
これは、ホスト名xxxにアクセスしようとすると、ssh
rootとして直接ログインしようとすることを意味します。これは、次のssh
コマンドを実行するのと同じです。
$ ssh -i /root/.ssh/id_rsa -l root hostnamexxx
ただし、ファイルは保護されており、rootとしてのみ読み取ることができるため、ファイルは使用できず、ターゲットホストに/root/.ssh/id_rsa
パスワードを要求します。root
$ ssh -i /root/.ssh/id_rsa -l root hostnamexxx
Warning: Identity file /root/.ssh/id_rsa not accessible: Permission denied.
Password:
パスワードを入力すると、root
ターゲットにrootとしてログインします。
パスワードを提供したくない場合(もちろん、権限があると仮定)から、root
ホームフォルダにIDファイルをコピーし、所有者をユーザーに変更できます。/root/.ssh/id_rsa
sudo
root
$ sudo cp /root/.ssh/id_rsa $HOME/.ssh/root_id_rsa && sudo chown <your username> $HOME/.ssh/root_id_rsa
その後$HOME/.ssh/root_id_rsa
で使用してくださいIdentityFile
。