Day After Day
tsurezure naru mamani...
ANOTHER DECADE

from 2022 when it's begining after/with CORONA Virus.

AlmaLinuxのSSHを公開鍵と秘密鍵で

5月
3
2024
Back
Alt+HOME


「WebARENA Indigo」でちょっと苦労した AlmaLinux のSSH鍵認証。Raspberry Pi にインストールした機会にまとめてみた。

公開鍵・秘密鍵のペアを生成し所定の場所へ配置


  1. 下記の様なコマンドで新たにキーペアを生成する

  2. $ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/almalinux/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/almalinux/.ssh/id_rsa
    Your public key has been saved in /home/almalinux/.ssh/id_rsa.pub
    The key fingerprint is:
    SHA256:f63u9+g26XIEkbmpqLtTHFAPKMsJu0sNy+xS9XTQugE almalinux@almalinux.local
    The key's randomart image is:
    +---[RSA 3072]----+
    |       +o    o   |
    |  . E + .o  +    |
    |   + = +  .  +   |
    |  o = + o   +    |
    | o * o =So . .   |
    |  B . o +..  ..  |
    | + .   o  . .... |
    |. o   o    ...*. |
    | .    o+   o+B+o.|
    +----[SHA256]-----+
    $ ls
    authorized_keys  id_rsa  id_rsa.pub
    
    id_rsa と言う秘密鍵と id_rsa.pub と言う公開鍵のペアが生成される。実行中 [Enter] のみ押していると /home/USER/.ssh に保存される。

    また、Enter passphrase (empty for no passphrase): でパスワードを入力すると、鍵認証でログインする際に、さらにそのパスワードを必要とする。

  3. 先ずリモートサーバ側での公開鍵の処理は id_rsa.pub の内容をコピーして authorized_keys に追加ペーストする。

  4. 次に秘密鍵 id_rsa をクライアントの適当な場所にファイル転送または内容をコピーする(仮に C:\Users\USER\.ssh)

サーバー側での設定変更


  1. sshd_config の2ヶ所コメントアウトを取る。ポート番号は 22 から変更した方が良い

  2. $ sudo nano /etc/ssh/sshd_config
      GNU nano 5.6.1                                /etc/ssh/sshd_config
    # If you want to change the port on a SELinux system, you have to tell
    # SELinux about this change.
    # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
    #
    Port 22222
    #AddressFamily any
    #ListenAddress 0.0.0.0
    #ListenAddress ::
    	:
    	:
    # Authentication:
    
    #LoginGraceTime 2m
    #PermitRootLogin prohibit-password
    #StrictModes yes
    #MaxAuthTries 6
    #MaxSessions 10
    
    PubkeyAuthentication yes
    	:
    

  3. SELINUX を無効にする。

  4. $ sudo nano /etc/selinux/config
      GNU nano 5.6.1                                /etc/selinux/config
    	:
    #SELINUX=enforcing
    SELINUX=disabled
    

  5. firewall に変更したポートの穴開けをする

  6. $ sudo firewall-cmd --add-port=22222/tcp --zone=public --permanent
    $ sudo firewall-cmd --reload
    $ sudo firewall-cmd --list-all --zone=public
    
    穴開けをして、ファイアウォールを再起動、結果を確認。

クライアント側の接続コマンド


  1. PowerShell 7 を起ち上げる

  2. PS X:\> ssh -p 22222 -i C:\Users\USER\.ssh\id_rsa almalinux@192.168.1.xxx
    

    ログイン名にデフォルトの almalinux を使用しているが変更した方が良い。


Back
Alt+HOME