パスワードなしでssh構成
クラスター構成ではパスワード無しでマスターサーバーがスレーブサーバーと会話してもらわないといけない。
なんだか難しそうだけれども、便利なコマンドを使うと案外簡単だったので備忘録。
# ssh-keygen -t rsa
出力先を指定しないとDefaultの出力先~/.ssh/id-rsaを選択肢として聞かれるのでパラメータとして指定する必要なし。
# ssh-copy-id root@相手先サーバー
以上を、自分を含むssh先サーバー全てに対して実行する。
# ssh 相手先サーバー date などでパスワード無でsshできることを確認する。
以上でクラスター内の任意のサーバーノード間でのsshが実行できるようになるのだ。
補足:
相手先サーバーを再インストールすると相手先のIDが変わり通信ができなくなる。これを解消するには、
/[ホームディレクトリ]/.ssh/known_hosts に記載されている相手先サーバー名の行を削除し、ssh-copy-idを実行すれば良い。
ーーーー 以下は古い書き込み ------
まずマスターサーバーで鍵の作成。
[root@master ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id-rsa
Generating public/private rsa key pair.
Created directory '/root/.ssh'.
Your identification has been saved in /root/.ssh/id-rsa.
Your public key has been saved in /root/.ssh/id-rsa.pub.
The key fingerprint is:
この下に鍵が表示されて、その鍵が.ssh/id-rsa.pubに保存される。
で、次にこの鍵をパスフレーズ無しでsshを実行する相手のサーバーに保存する。
そこで登場するのが便利なコマンド二つ。
一つ目:sshpass
このコマンドはsshにパスワードを入力してくれる。
ssh -p "パスワード" ssh
これでsshにパスワードを渡してsshを実行してくれる。インタラクティブな操作がなくなるので自動化が可能。
素のCentOS 7.7には含まれていないのでyum install sshpassを実行することになる。
二つ目:ssh-copy-id
ssh先のサーバーの.ssh/autherized_kyesに元サーバーの公開鍵をコピーしてくれる。パラメータとして元サーバーの公開鍵ファイルを指定するだけ。
実際の実行結果は以下の通り。masterの公開鍵をnode1にコピーしている。
[root@master ~]# sshpass -p "パスワード" ssh-copy-id -i ~/.ssh/id-rsa.pub -o "StrictHostKeyChecking no" node1
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id-rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Number of key(s) added: 1
Now try logging into the machine, with: "ssh -o 'StrictHostKeyChecking no' 'master'"
and check to make sure that only the key(s) you wanted were added.
以下がパスフレーズ無しのssh実行結果。
[root@master ~]# ssh node1 date
2020年 2月 4日 火曜日 18:29:02 JST
よく使われる cat >> での追記の代わりになる(catコマンドパラメータ指定省略可能)。
便利かも。
« ESXi6.0 仮想マシーンへのisoイメージからのゲストOSインストール | トップページ | Spectrum Scale導入作業 »
「ソフトウエア導入」カテゴリの記事
- 非Windows11対応PCをWindows11にアップグレードする方法(2023.03.21)
- ThonnyでPicoのVersion upで SSL: CERTIFICATE_VERIFY_FAILED, certificate has expired にハマった件(2022.11.23)
- UI-VIEW32のオリジナルマップの作製(2022.11.22)
- APRS I-Gateの設置(2022.11.15)
- PCIe dual serial port adapterドライバーCH38XDRV.ZIPのWindows11へのインストール(2022.11.13)
« ESXi6.0 仮想マシーンへのisoイメージからのゲストOSインストール | トップページ | Spectrum Scale導入作業 »
コメント