そういうのがいいブログ

SIerで働く30代サラリーマンSEがインフラエンジニアに憧れてLinux・クラウド・AWSの勉強をするブログ

Proxmox9.0の初期設定(その3)SSH公開鍵認証に変更しパスワード認証の無効化

※[PR]当ブログの記事の中にはプロモーションが含まれています。

・Proxmox9.0のインストール後のSSH公開鍵認証への変更とパスワード認証の無効化ついて知りたい。
・具体的な手順を分かりやすく教えてほしい。

こういった疑問に答えます。

本記事の内容

  1. Proxmox9.0のSSH公開鍵認証に変更しパスワード認証の無効化

サトナカ (@souiunogaii)

この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。

こういった私が、解説していきます。

私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。

Proxmox9.0の初期設定(その3)SSH公開鍵認証に変更しパスワード認証の無効化

ホストOS側の設定ファイルの変更

/etc/ssh/sshd_config
# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

PubkeyAuthentication yes   ←★★★コメント解除して有効化

設定変更後のSSHの再起動

/etc/init.d/ssh restart
root@a-prxmx01:~# /etc/init.d/ssh restart
Restarting ssh (via systemctl): ssh.service.

公開鍵ファイルをホストOSへ配置

/home/ユーザー名/.ssh

TeraTermSSH SCP機能を使って公開鍵ファイルをアップロード

chmod 700 /home/ユーザー名/.ssh
chmod 600 /home/ユーザー名/.ssh/authorized_keys

TeraTermで接続テスト

従来のパスワード認証を無効化する

必ず、公開鍵認証の接続テストでOKになってから、従来のパスワード認証を無効化してください。
そうでないと、リモートでログインができなくなってしまい、
物理マシンに直接アクセスしたり、
Proxmoxのコンソール画面から直接操作するか、が必要になってしまいます。
/etc/ssh/sshd_config
# To disable tunneled clear text passwords, change to "no" here!
#PasswordAuthentication yes
PasswordAuthentication no  ←★★★noに変更
#PermitEmptyPasswords no
# Authentication:

#LoginGraceTime 2m
#PermitRootLogin yes
PermitRootLogin forced-commands-only  ←★★★rootユーザーの直接ログインを拒否
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

設定変更後のSSHの再起動

/etc/init.d/ssh restart
root@a-prxmx01:~# /etc/init.d/ssh restart
Restarting ssh (via systemctl): ssh.service.

WinSCPの設定変更

SSH認証に秘密鍵ファイルを設定

SFTPサーバの設定も追加

sftpサーバ利用時はsudo時にパスワード不要に変更。

/etc/sudoers
# See sudoers(5) for more information on "@include" directives: 
    
@includedir /etc/sudoers.d  
satonaka    ALL=(ALL:ALL) ALL
satonaka    ALL=(ALL:ALL) NOPASSWD: /usr/lib/openssh/sftp-server  ←★★★追加