Rloginでの鍵認証は、
・windows側 で 鍵を作りサーバーに公開するという流れになる。
参考
https://qiita.com/ma7ma7pipipi/items/6a11f09a988b590d0408
まずは root でログインして接続し、ユーザー hideki を作る
最近はRSAではなく、ecdsaでやったほうが良いらしい。
ということで、ecdsaでやろう。
centosstream9 の場合は rsa ログインが何故かできなかった。
ecdsaならできた。
$ useradd hideki
$ passwd hideki
New password: **********
Retype new password: **********
$ gpasswd -a hideki wheel
$ visudo
# %wheel ALL=(ALL) ALL // コメント解除
$ vim /etc/pam.d/su
# auth required pam_wheel.so use_uid // コメント解除
写真は vpuser になっているが、これを hideki に変えてパスワードも入れる。
プロトコル > 認証キー
作成
パスフレーズを入力。
入力後、「認証キーリスト」に「RSA2」のキーができますので、選択したあと「エクスポート」をクリック。
「エクスポート」で秘密鍵をファイルとして保存。
例としてファイル名を「id_rsa」として保存します。
保存する際、先ほど設定したパスフレーズを再度入力。
サーバーの基本設定に戻ります。ログイン時に秘密鍵を使う設定をするため、SSH Identity Keyの「参照」をクリックします。
ここで、先ほど保存した秘密鍵ファイルid_rsaを指定します。
これで秘密鍵の設定は完了です。
公開鍵は以下の手順で取得できます。
プロトコルメニューから「認証キー」をクリックします。
認証キーリストからRSA2を選択して「公開鍵」ボタンをクリックします。
ランダムな文字列の組み合わせからなる公開鍵文字列が表示されます。
これをクリップボードにコピーしておいてください。
では、再度サーバーにログインします。
今は、パスワードでログインできる状態です。
一般ユーザーでログインして、
root にならずに、
mkdir .ssh
chmod 700 .ssh
cd .ssh
vim authorized_keys
vim で鍵を貼り付けし、保存
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvuTUNCz4I5kYcwHTgOsRkEtw0oQzqKYzqqWt0iqPgbcvEsEsiVAQ6mYj7yNmHTxKCKJtOBbiWgJ+oVQtXELjLXVmceFeaDpOHo9FxkbhQx/AvAvEf9Ih5RXJOhCWw6eD/9kFqBfeawfeawfhuhuheawM5nQY9Da+QptvEjkf6baRqk3+JtmpEmzpDoPnQ39Nl8KirHuvCn2MMvI40g/voFFmQ8xadQKpOShzpzLlVfCmE8CMJo8G7Qab1/fRhJwjMkU2UpJImJb7wdeZJeHiJuCMVOkpzrPEctNyZGqAvsgLNU3TctceCVoV4FRxKGn3WkNZxSeFSIYrZwd5Xpo54K2R3ev xxx@local
上記のチェックボックスはオンにしておくこと!
chmod 600 authorized_keys
ここまでで鍵認証できるかテストしてみましょう。
できたらrootログインとパスワードログインを禁止。
$ sudo vim /etc/ssh/sshd_config
RSAAuthentication yes 新規追加
PubkeyAuthentication yes コメント外す
PasswordAuthentication no 書き換え
PermitRootLogin no 書き換え
$ sudo systemctl restart sshd.service
一般ユーザーを作って、ログインし確認
・鍵認証でログインできますか?
・パスワード認証はできなくなっていますか?
Rloginの場合は一度鍵認証したものを鍵を解除してもパスワード無しでそのままログインできてしまう。
ということで鍵認証のみになっているかは、
最初からサーバー接続情報作ってテストすること。
鍵をなくした。
鍵認証できねぇ
・ユーザー名
hideki
・パスワード
yourpass
でVPSのコンソールからログインできる。