クラスタ(?)のssh鍵交換
動機
ラズパイクラスタ作成時の鍵交換で個人的に効率良さげな方法を思いついたのでメモ
必要なもの
- ホストマシン (tmux使えれば何でも良い。ここでは Ubuntu 18.04)
- Raspberry Pi × 4 (クラスタ用マシン)
- tmux
手順
tmuxの設定(キーコンフィグ)
# プレフィックスをtにする set -g prefix C-t # C-t + '|' で縦分割 bind | split-window -h # C-t + 'S' で横分割 bind S split-window -v # C-t + '+' でペインのシンクロをオン bind + set-window-option synchronize-pane on # C-t + '-' でペインのシンクロをオフ bind - set-window-option synchronize-pane off
鍵交換等々
IPアドレスの固定は終わらせ,2×2分割でtmuxを起動しておく。(なんでも良いがこれが見やすそう)
ここでは各マシンのIPを192.168.1.{101,102,103,104}とし,パスワードは全て同じものを使う。
# C-t + '+' でペインをシンクロさせ,.sshを作成 $ mkdir ~/.ssh # .sshに移動 $ cd .ssh # 鍵の作成 $ ssh-keygen -t rsa # ホームディレクトリに戻る $ cd ~ # 101のマシンから公開鍵を持ってくる $ scp pi@192.168.1.101:~/.ssh/id_rsa.pub . # ホームディレクトリでauthorized_keysを作る $ mv id_rsa.pub authorized_keys # 102から公開鍵を持ってくる $ scp pi@192.168.1.102:~/.ssh/id_rsa.pub . # 持ってきた鍵をauthorized_keysに追記 $ cat id_rsa.pub >> authorized_keys # 103から公開鍵を持ってくる $ scp pi@192.168.1.103:~/.ssh/id_rsa.pub . # 持ってきた鍵を追記 $ cat id_rsa.pub >> authorized_keys # 104から公開鍵を持ってくる $ scp pi@192.168.1.104:~/.ssh/id_rsa.pub . # 持ってきた鍵を追記 $ cat id_rsa.pub >> authorized_keys # ホームディレクトリに作ったauthorized_keysを.ssh内のauthorized_keysに追記 $ cat authorized_keys >> .ssh/authorized_keys
たぶんこれで全マシンにpasswordなしでsshできる(はず)