User Tools

Site Tools


自作クラスタ計算機:sshの基本設定

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next 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をインストールします<code>+  - (UFWを使用している場合)外部から管理ノードへのSSHによるアクセスを許可します。<code>$ sudo ufw allow ssh</code> 
 +  - 管理ノードSSHをインストールします(計算ノードのOSインストール時に導入していなければ、計算ノードにも)<code>
 $ sudo apt install ssh</code> $ sudo apt install ssh</code>
   - 管理ノードから計算ノードにSSHで接続できるか確認します。@の前は計算ノードのユーザー名、後ろは計算ノードのプライベートIPアドレスを入力します。 <code>   - 管理ノードから計算ノードにSSHで接続できるか確認します。@の前は計算ノードのユーザー名、後ろは計算ノードのプライベートIPアドレスを入力します。 <code>
-$ ssh username_keisan11@192.168.0.11</code>+$ ssh username_node11@192.168.0.11</code>
     * 計算ノードからログアウトしてヘッドノードに再び戻るには<code>$ exit</code>とします。     * 計算ノードからログアウトしてヘッドノードに再び戻るには<code>$ exit</code>とします。
   - (管理ノードにグローバルIPアドレスを設定した場合)別途インターネットに接続されたパソコンでターミナルを開き、外部からSSHで管理ノードに接続できるか確認します。@の前は管理ノードのユーザー名、後ろはIPアドレスまたはFQDNを入力します <code>   - (管理ノードにグローバルIPアドレスを設定した場合)別途インターネットに接続されたパソコンでターミナルを開き、外部からSSHで管理ノードに接続できるか確認します。@の前は管理ノードのユーザー名、後ろはIPアドレスまたはFQDNを入力します <code>
-$ ssh username_kanri@xxx.xxx.xxx.xxx+$ ssh username_head@xxx.xxx.xxx.xxx
 </code> </code>
  
Line 24: Line 25:
 ===== 鍵認証の設定 ===== ===== 鍵認証の設定 =====
  
-外部からヘッドノードに接続する際にSSH鍵認証のみ許可るようにします+外部から管理ノードに接続する際にSSH鍵認証を使用しま。手元のパソコンで作業します
  
-==== 秘密鍵の作成 ====+==== SSH鍵の作成 ====
  
   - (SSHの秘密鍵/公開鍵を持っていない場合)手元のパソコンでSSH鍵を作成します<code>   - (SSHの秘密鍵/公開鍵を持っていない場合)手元のパソコンでSSH鍵を作成します<code>
-$ ssh-keygen -t rsa</code>+$ ssh-keygen</code>
     * このコマンドのあと、SSH秘密鍵のパスワードの設定が要求されるので入力します     * このコマンドのあと、SSH秘密鍵のパスワードの設定が要求されるので入力します
-    * 保存先は次のとおりです +    * SSH鍵の保存先は次のとおりです 
-      * 公開鍵: ~/.ssh/id_rsa.pub +      * 公開鍵: ~/.ssh/id_ed25519.pub 
-      * 秘密鍵: ~/.ssh/id_rsa+      * 秘密鍵: ~/.ssh/id_ed25519 
 +    * OpenSSH 9.5以降は暗号方式のデフォルトがRSAからED25519に変更になりました。できるだけED25519に切り替えていきましょう。
   - 秘密鍵とディレクトリのパーミッションを設定します<code>   - 秘密鍵とディレクトリのパーミッションを設定します<code>
-$ chmod 600 ~/.ssh/id_rsa+$ chmod 600 ~/.ssh/id_ed25519
 $ chmod 700 ~/.ssh/ $ chmod 700 ~/.ssh/
 </code> </code>
Line 42: Line 44:
  
   - 作成した公開鍵を、scpコマンドを使って管理ノードに送ります<code>   - 作成した公開鍵を、scpコマンドを使って管理ノードに送ります<code>
-$ scp ~/.ssh/id_rsa.pub username_kanri@xxx.xxx.xxx.xxx:/home/username_kanri/.ssh/authorized_keys+$ scp ~/.ssh/id_ed25519.pub username_head@xxx.xxx.xxx.xxx:/home/username_head/.ssh/authorized_keys
 </code> </code>
   - 管理ノードにログインし、公開鍵とディレクトリのパーミッションを設定します<code>   - 管理ノードにログインし、公開鍵とディレクトリのパーミッションを設定します<code>
-$ ssh username_kanri@xxx.xxx.xxx.xxx+$ ssh username_head@xxx.xxx.xxx.xxx
 $ chmod 600 ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys
 $ chmod 700 ~/.ssh/ $ chmod 700 ~/.ssh/
Line 52: Line 54:
 ==== ログインを鍵認証のみに設定 ==== ==== ログインを鍵認証のみに設定 ====
  
-セキュリティ上、管理ノードへのログインはSSH鍵認証のみにしま+セキュリティ上、管理ノードへのログインはSSH鍵認証のみが安全で
  
   - 管理ノードにログインしたまま、次のようにSSHの設定ファイルを書き換えます<code>   - 管理ノードにログインしたまま、次のようにSSHの設定ファイルを書き換えます<code>
-$ sudo vi /etc/ssh/sshd_config+$ sudo nano /etc/ssh/sshd_config
 </code><file - sshd_config> </code><file - sshd_config>
-(略) 
-PubkeyAuthentication yes 
- 
-# Expect .ssh/authorized_keys2 to be disregarded by default in future. 
-AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 
 (略) (略)
 # To disable tunneled clear text passwords, change to no here! # To disable tunneled clear text passwords, change to no here!
Line 81: Line 78:
  
 <code> <code>
-$ ssh -i ~/.ssh/id_rsa username_kanri@xxx.xxx.xxx.xxx+$ ssh -i ~/.ssh/id_ed25519 username_head@xxx.xxx.xxx.xxx
 </code> </code>
  
Line 87: Line 84:
  
   * 鍵のパスや接続先のアドレスをいちいち打ち込むのは面倒くさいので、 ~/.ssh/config というファイルに設定を書き込んでおくと便利です。   * 鍵のパスや接続先のアドレスをいちいち打ち込むのは面倒くさいので、 ~/.ssh/config というファイルに設定を書き込んでおくと便利です。
-  * ついでにProxyCommandを使えば直接計算ノードにログインできるようになります(多段SSH)。+  * ついでにProxyCommandを使って直接計算ノードにログインできるようにます(多段SSH)。
  
 <file - config> <file - config>
 #ヘッドノード #ヘッドノード
-Host kanri+Host head
   HostName      xxx.xxx.xxx.xxx   HostName      xxx.xxx.xxx.xxx
-  User          username_kanri +  User          username_head 
-  IdentityFile  ~/.ssh/id_rsa+  IdentityFile  ~/.ssh/id_ed25519
  
 #計算ノード #計算ノード
-Host keisan11+Host node11
   HostName      192.168.0.11   HostName      192.168.0.11
-  User          username_keisan11+  User          username_node11
   ProxyCommand  ssh -W %h:%p head   ProxyCommand  ssh -W %h:%p head
      
-Host keisan12+Host node12
   HostName      192.168.0.12   HostName      192.168.0.12
-  User          username_keisan12+  User          username_node12
   ProxyCommand  ssh -W %h:%p head   ProxyCommand  ssh -W %h:%p head
      
Line 111: Line 108:
 次のようにHostを指定するだけでサーバーにログインできます 次のようにHostを指定するだけでサーバーにログインできます
 <code> <code>
-$ ssh kanri      # 管理ノードにつなぐ場合 +$ ssh head       # 管理ノードにつなぐ場合 
-$ ssh keisan11   # 計算ノードにつなぐ場合+$ ssh node11     # 計算ノード(node11)につなぐ場合
 </code> </code>
  
 パソコンから管理ノードにログインできるようになったら、あとは遠隔で作業ができます。サーバー室から自分の部屋に戻りましょう。 パソコンから管理ノードにログインできるようになったら、あとは遠隔で作業ができます。サーバー室から自分の部屋に戻りましょう。
 +
 +
 +==== 参考 ====
 +
 +  * [[https://qiita.com/bezeklik/items/b728ea2de4924f89a787|OpenSSH (sshd) のデフォルト値 #OpenSSH - Qiita]]
自作クラスタ計算機/sshの基本設定.1583236296.txt.gz · Last modified: 2021/06/27 21:58 (external edit)