初期設定+rootユーザー作成
- コンパネにログイン
- 「各種設定」>「OSインストール」
- CentOS7を選択
- rootユーザー用のパスワードを設定(作成)
rootユーザーでssh接続。デフォルトでは鍵認証では無く、パスワードでの認証が設定されています。
$ ssh root@xxx.xxx.xxx.xxx #ipアドレス
The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx.xxx)' cant be established.
ECDSA key fingerprint is SHA256:+CMQV+bQVjTp+CJcpoj1u+J6LS24dAUWjv3tkxFYBSE.
Are you sure you want to continue connecting (yes/no)? #yesを入力
Password? # 先ほど作成したパスワードを入力
$ yum update
一般ユーザーを作成
$ adduser vpsuser
$ passwd vpsuser
Changing password for user vpsuser.
New password: #パスワードを設定
$ exit
一般ユーザーでログイン
$ ssh vpsuser@xxx.xxx.xxx.xxx #ipアドレス
ポート変更&rootユーザーでログインできないようにする
この設定をしないと、一晩で3万件くらいの不正アクセス(の試み)を受けてびっくりすることになります。
$ su - # rootユーザーに切り替え
$ vi /etc/ssh/sshd_config # sshdの設定を編集
/etc/ssh/sshd_config
rootユーザーでログインできないようにする
- #PermitRootLogin yes
+ PermitRootLogin no
ssh接続のポート番号を変更 ※ウェルノウンポート以外のポート(49152〜65535)を指定
- Port 22
+ Port 50022
$ systemctl restart sshd.service # 上記の変更を反映
一度ログアウトして
- デフォルトのポートではログインできないこと
- rootユーザーでログインできないこと
- 一般ユーザーで50022のポートを指定するとログインできること
を確認
$ exit
$ ssh vpsuser@xxx.xxx.xxx.xxx #ipアドレス
ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused
$ ssh root@xxx.xxx.xxx.xxx -p 50022
permission denied...
$ ssh vpsuser@xxx.xxx.xxx.xxx -p 50022
SAKURA Internet [Virtual Private Server SERVICE]
Firewallの設定
$ su - # rootユーザーに切り替え
$ vi /usr/lib/firewalld/services/ssh.xml # ssh接続のポート番号変更に対応
/usr/lib/firewalld/services/ssh.xml
- <port protocol="tcp" port="22"/>
+ <port protocol="tcp" port="50022"/>
$ systemctl start firewalld #firewallを起動
$ systemctl enable firewalld.service #firewallの自動起動設定
$ firewall-cmd --list-all # 許可されている接続を確認
$ firewall-cmd --add-service=http --permanent #http接続を許可
$ firewall-cmd --add-service=https --permanent # https接続を許可
$ firewall-cmd --reload # 設定を反映
$ firewall-cmd --list-all
$ systemctl reboot #OSを再起動
SSHキーペアでログインできるようにする
ローカルでキーペアを作成
$ cd .ssh
$ mkdir sakura_vps
$ cd sakura_vps
$ ssh-keygen -f id_rsa
公開鍵をサーバーに登録
$ cat ~/.ssh/sakura_vps/id_rsa.pub | pbcopy
$ ssh vpsuser@xxx.xxx.xxx.xxx #ipアドレス
$ cd .ssh # or mkdir .ssh → cd .ssh
$ vi authorized_keys # クリップボードにコピーした公開鍵を登録
$ chmod 600 authorized_keys
$ chmod 700 ~/.ssh
vi
コマンドは、指定したファイルがあれば開き、なければ新規作成してくれます。
クリップボードにコピーした公開鍵の記述をautorized_keys
に貼り付けて保存しましょう。
次に鍵を使ったログインの確認です。
$ exit
$ ssh -i ~/.ssh/sakura_vps/id_rsa vpsuser@xxx.xxx.xxx.xxx -p 50022
最後に、ssh-configに記述を追加して、ssh接続時のコマンドを簡略化します。
$ exit
$ vim ~/.ssh/config
以下の記述を追加
~/.ssh/config
Host sakura_vps
HostName xxx.xxx.xxx.xxx # ipアドレス
Port 50022
User vps_user
IdentityFile ~/.ssh/sakura_vps/id_rsa
接続確認
$ ssh sakura_vps