自作クラスタ計算機:sshの基本設定
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| 自作クラスタ計算機:sshの基本設定 [2020/03/03 20:51] – [概要] koudai | 自作クラスタ計算機:sshの基本設定 [2026/07/08 19:01] (current) – [ログインを鍵認証のみに設定] koudai | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| * SSHを利用して、ノード間の通信や外部からクラスタ計算機への接続ができるようにします | * SSHを利用して、ノード間の通信や外部からクラスタ計算機への接続ができるようにします | ||
| * セキュリティ上の安全のため、外部からのログインは鍵認証のみで行うようにします | * セキュリティ上の安全のため、外部からのログインは鍵認証のみで行うようにします | ||
| - | * 管理ノードに固定IPアドレスが設定されてない場合は、外部から管理ノードにSSH接続ができません | + | * 管理ノードにグローバルIPアドレスが設定されてない場合は、外部から管理ノードにSSH接続ができません |
| * このページでは、管理ノードの固定IPアドレスを xxx.xxx.xxx.xxx とします | * このページでは、管理ノードの固定IPアドレスを xxx.xxx.xxx.xxx とします | ||
| Line 11: | Line 11: | ||
| ===== SSHの導入 ===== | ===== SSHの導入 ===== | ||
| - | - 管理ノードと計算ノードの両方でSSHをインストールします< | + | - (UFWを使用している場合)外部から管理ノードへのSSHによるアクセスを許可します。< |
| + | - 管理ノードにSSHをインストールします(計算ノードのOSインストール時に導入していなければ、計算ノードにも)< | ||
| $ sudo apt install ssh</ | $ sudo apt install ssh</ | ||
| - 管理ノードから計算ノードにSSHで接続できるか確認します。@の前は計算ノードのユーザー名、後ろは計算ノードのプライベートIPアドレスを入力します。 < | - 管理ノードから計算ノードにSSHで接続できるか確認します。@の前は計算ノードのユーザー名、後ろは計算ノードのプライベートIPアドレスを入力します。 < | ||
| - | $ ssh username_keisan11@192.168.0.11</ | + | $ ssh username_node11@192.168.0.11</ |
| * 計算ノードからログアウトしてヘッドノードに再び戻るには< | * 計算ノードからログアウトしてヘッドノードに再び戻るには< | ||
| - (管理ノードにグローバルIPアドレスを設定した場合)別途インターネットに接続されたパソコンでターミナルを開き、外部からSSHで管理ノードに接続できるか確認します。@の前は管理ノードのユーザー名、後ろはIPアドレスまたはFQDNを入力します < | - (管理ノードにグローバルIPアドレスを設定した場合)別途インターネットに接続されたパソコンでターミナルを開き、外部からSSHで管理ノードに接続できるか確認します。@の前は管理ノードのユーザー名、後ろはIPアドレスまたはFQDNを入力します < | ||
| - | $ ssh username_kanri@xxx.xxx.xxx.xxx | + | $ ssh username_head@xxx.xxx.xxx.xxx |
| </ | </ | ||
| Line 24: | Line 25: | ||
| ===== 鍵認証の設定 ===== | ===== 鍵認証の設定 ===== | ||
| - | 外部からヘッドノードに接続する際にSSH鍵認証のみを許可するようにします | + | 外部から管理ノードに接続する際にSSH鍵認証を使用します。手元のパソコンで作業します。 |
| - | ==== 秘密鍵の作成 ==== | + | ==== SSH鍵の作成 ==== |
| - (SSHの秘密鍵/ | - (SSHの秘密鍵/ | ||
| - | $ ssh-keygen | + | $ ssh-keygen</ |
| * このコマンドのあと、SSH秘密鍵のパスワードの設定が要求されるので入力します | * このコマンドのあと、SSH秘密鍵のパスワードの設定が要求されるので入力します | ||
| - | * 保存先は次のとおりです | + | * SSH鍵の保存先は次のとおりです |
| - | * 公開鍵: ~/.ssh/id_rsa.pub | + | * 公開鍵: ~/.ssh/id_ed25519.pub |
| - | * 秘密鍵: ~/.ssh/id_rsa | + | * 秘密鍵: ~/.ssh/id_ed25519 |
| + | * OpenSSH 9.5以降は暗号方式のデフォルトがRSAからED25519に変更になりました。できるだけED25519に切り替えていきましょう。 | ||
| - 秘密鍵とディレクトリのパーミッションを設定します< | - 秘密鍵とディレクトリのパーミッションを設定します< | ||
| - | $ chmod 600 ~/.ssh/id_rsa | + | $ chmod 600 ~/.ssh/id_ed25519 |
| $ chmod 700 ~/.ssh/ | $ chmod 700 ~/.ssh/ | ||
| </ | </ | ||
| Line 42: | Line 44: | ||
| - 作成した公開鍵を、scpコマンドを使って管理ノードに送ります< | - 作成した公開鍵を、scpコマンドを使って管理ノードに送ります< | ||
| - | $ scp ~/.ssh/id_rsa.pub username_kanri@xxx.xxx.xxx.xxx:/ | + | $ scp ~/.ssh/id_ed25519.pub username_head@xxx.xxx.xxx.xxx:/ |
| </ | </ | ||
| - 管理ノードにログインし、公開鍵とディレクトリのパーミッションを設定します< | - 管理ノードにログインし、公開鍵とディレクトリのパーミッションを設定します< | ||
| - | $ ssh username_kanri@xxx.xxx.xxx.xxx | + | $ ssh username_head@xxx.xxx.xxx.xxx |
| $ chmod 600 ~/ | $ chmod 600 ~/ | ||
| $ chmod 700 ~/.ssh/ | $ chmod 700 ~/.ssh/ | ||
| Line 52: | Line 54: | ||
| ==== ログインを鍵認証のみに設定 ==== | ==== ログインを鍵認証のみに設定 ==== | ||
| - | セキュリティ上、管理ノードへのログインはSSH鍵認証のみにします | + | セキュリティ上、管理ノードへのログインはSSH鍵認証のみが安全です。 |
| - 管理ノードにログインしたまま、次のようにSSHの設定ファイルを書き換えます< | - 管理ノードにログインしたまま、次のようにSSHの設定ファイルを書き換えます< | ||
| - | $ sudo vi / | + | $ sudo nano / |
| </ | </ | ||
| - | (略) | ||
| - | PubkeyAuthentication yes | ||
| - | |||
| - | # Expect .ssh/ | ||
| - | AuthorizedKeysFile .ssh/ | ||
| (略) | (略) | ||
| # To disable tunneled clear text passwords, change to no here! | # To disable tunneled clear text passwords, change to no here! | ||
| Line 81: | Line 78: | ||
| < | < | ||
| - | $ ssh -i ~/.ssh/id_rsa username_kanri@xxx.xxx.xxx.xxx | + | $ ssh -i ~/.ssh/id_ed25519 username_head@xxx.xxx.xxx.xxx |
| </ | </ | ||
| Line 87: | Line 84: | ||
| * 鍵のパスや接続先のアドレスをいちいち打ち込むのは面倒くさいので、 ~/ | * 鍵のパスや接続先のアドレスをいちいち打ち込むのは面倒くさいので、 ~/ | ||
| - | * ついでにProxyCommandを使えば直接計算ノードにログインできるようになります(多段SSH)。 | + | * ついでにProxyCommandを使って直接計算ノードにログインできるようにします(多段SSH)。 |
| <file - config> | <file - config> | ||
| # | # | ||
| - | Host kanri | + | Host head |
| HostName | HostName | ||
| - | User | + | User |
| - | IdentityFile | + | IdentityFile |
| # | # | ||
| - | Host keisan11 | + | Host node11 |
| HostName | HostName | ||
| - | User | + | User |
| ProxyCommand | ProxyCommand | ||
| | | ||
| - | Host keisan12 | + | Host node12 |
| HostName | HostName | ||
| - | User | + | User |
| ProxyCommand | ProxyCommand | ||
| | | ||
| Line 111: | Line 108: | ||
| 次のようにHostを指定するだけでサーバーにログインできます | 次のようにHostを指定するだけでサーバーにログインできます | ||
| < | < | ||
| - | $ ssh kanri | + | $ ssh head # 管理ノードにつなぐ場合 |
| - | $ ssh keisan11 | + | $ ssh node11 |
| </ | </ | ||
| パソコンから管理ノードにログインできるようになったら、あとは遠隔で作業ができます。サーバー室から自分の部屋に戻りましょう。 | パソコンから管理ノードにログインできるようになったら、あとは遠隔で作業ができます。サーバー室から自分の部屋に戻りましょう。 | ||
| + | |||
| + | |||
| + | ==== 参考 ==== | ||
| + | |||
| + | * [[https:// | ||
自作クラスタ計算機/sshの基本設定.1583236296.txt.gz · Last modified: 2021/06/27 21:58 (external edit)
