Tech Blog

CentOS7、sshログイン設定メモ

2021-02-09

やりたいこと

ssh鍵をリモートサーバーに設置し、ローカルから作成した一般ユーザーでログインしたい。

手順

  • 一般ユーザーの作成
  • 一般ユーザーにsudo権限を付与
  • ssh鍵の設定
  • ログイン出来るかテスト

一般ユーザーの作成

adduser vpsuser
passwd vpsuser

一般ユーザーにsudoの権限を付与する。

wheelグループの設定変更・確認

visudoコマンドでsudoersというファイルを編集・内容の確認を行う。

su -
visudo
## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL
 
## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

%wheel ALL=(ALL) ALLの行がコメントアウトされていれば外す。

(wheelグループにすべてのコマンドの実行権限を与えるようになる。)

# %wheel ALL=(ALL) NOPASSWD: ALLをコメントアウトすると、 sudoの実行をパスワードなしで許可する設定となる。

一般ユーザーをwheelグループに追加する

usermod -aG wheel vpsuser

グループに追加されているか確認

id vpsuser

再ログイン後に、wheelが追加されているか確認

groups
sudo su -

ssh鍵の設定

秘密鍵公開鍵の作成

ローカルでssh用の秘密鍵と公開鍵を作成する。

ssh-keygen -t rsa -C "[email protected]"
chmod 600 test_vps_id_rsa

公開鍵をリモートサーバーに設置

scp ~/.ssh/test_vps_rsa.pub [email protected]:~/
ssh [email protected]
mkdir .ssh
chmod 700 .ssh/
mv test_vps_id_rsa.pub .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

sshの設定変更

sudo su
vim /etc/ssh/sshd_config

PermitRootLogin noでrootでアクセスできないように。

PasswordAuthentication noでパスワードでログイン出来ないように設定する。

PermitRootLogin no
PasswordAuthentication no

設定を反映する。

systemctl restart sshd

.ssh/configの設定

 Host example.com
   HostName example.com
   User vpsuser
   Port 22
   IdentityFile ~/.ssh/test_vps_id_rsa
   TCPKeepAlive yes

ログイン

ssh example.com

\(^o^)/