SAKURAのVPSで設定したこと
前提
- SAKURA用意されたCentOS7を使用
# 全体的なアップデート yum clean all yum update reboot
SELinux
無効化するつもりだったけど、最初から無効化されていた
確認
getenforce → Disabled
一時的な無効化
setenforce 0 getenforce
永続的な無効化
# vi /etc/selinux/config SELINUX=disabled
FW
有効になっていたので、そのまま有効にする
systemctl status firewalld → Active: active (running)
ホスト名の変更
リブート後に有効になる。
hostnamectl set-hostname skr01 reboot
localeの確認と変更
# 確認 localectl status System Locale: LANG=C VC Keymap: jp106 X11 Layout: jp # 設定可能なロケールの一覧 localectl list-locales | grep ja ja_JP ja_JP.eucjp ja_JP.ujis ja_JP.utf8 japanese japanese.euc # 変更 localectl set-locale LANG=ja_JP.utf8 # 変更後の確認 localectl status System Locale: LANG=ja_JP.utf8 VC Keymap: jp106 X11 Layout: jp # source /etc/locale.conf で良いらしいけど、リブート reboot
自動起動が有効になっているもののチェック
[root@skr01 ~]# systemctl list-unit-files -t service | grep enabled abrt-ccpp.service enabled abrt-oops.service enabled abrt-vmcore.service enabled abrt-xorg.service enabled abrtd.service enabled atd.service enabled auditd.service enabled autovt@.service enabled chronyd.service enabled crond.service enabled dbus-org.fedoraproject.FirewallD1.service enabled dbus-org.freedesktop.NetworkManager.service enabled dbus-org.freedesktop.nm-dispatcher.service enabled dmraid-activation.service enabled fail2ban.service enabled firewalld.service enabled getty@.service enabled irqbalance.service enabled libstoragemgmt.service enabled lvm2-monitor.service enabled mdmonitor.service enabled NetworkManager-dispatcher.service enabled NetworkManager.service enabled postfix.service enabled rngd.service enabled rsyslog.service enabled smartd.service enabled sshd.service enabled sysstat.service enabled systemd-readahead-collect.service enabled systemd-readahead-drop.service enabled systemd-readahead-replay.service enabled tuned.service enabled
不要サービスの停止
# 不要サービス(postfix)の停止と自動起動の停止 systemctl stop postfix.service systemctl disable postfix.service → Removed symlink /etc/systemd/system/multi-user.target.wants/postfix.service.
# 結局、その後、再度可動させた。(Centos7ではrootにメールが来るらしい?ので念の為) systemctl enable postfix.service Created symlink from /etc/systemd/system/multi-user.target.wants/postfix.service to /usr/lib/systemd/system/postfix.service. systemctl start postfix.service
一般ユーザを作成
useradd -G wheel hoge passwd hoge
SSHのrootログインの無効化
PermitRootLogin no systemctl restart sshd
ログの表示
journalctl -u sshd.service
SSHのポート変更とfirewalld
vi /etc/ssh/sshd_config # ポート番号を20022にする(デフォルトは22) Port 20022 # SSH2だけにする Protocol 2 # rootでのログインを不可とする PermitRootLogin no # パスワードでのログインを許可する PasswordAuthentication yes # パスワードなしでのログインを不可とする PermitEmptyPasswords no # hoge というユーザだけログインを許可する AllowUsers hoge ## 再起動 systemctl restart sshd
# 空いているサービスの確認 firewall-cmd --list-services → dhcpv6-client ssh # 空いているポートの確認 firewall-cmd --list-ports → なし。 # ポート20022を開ける(一時的な有効化) firewall-cmd --add-port=20022/tcp → success # ポート20022を開ける(永続的な有効化) firewall-cmd --permanent --add-port=20022/tcp → success # もともと有ったsshサービス(ポート22)を消す firewall-cmd --permanent --remove-service=ssh → success # firewalldを再起動 systemctl restart firewalld.service # 空いているサービスの確認(sshが消えた) firewall-cmd --list-services → dhcpv6-client # 空いているポートの確認(ssh用の20022が空いた) firewall-cmd --list-ports → 20022/tcp
SSHの接続を証明書に変更
# この作業はSSHでつなぎに行く一般ユーザでやる # RSA&2048bitでも大丈夫っぽい。 ssh-keygen -t rsa -b 4096 # 移動 cd ~/.ssh # 公開鍵を追記する cat id_rsa.pub >> authorized_keys # authorized_keys が 644 ではダメらしい。700に変更。なお変更しないと後術のエラーになる。 chmod 700 authorized_keys
メモ * ~/.ssh/にファイルが生成される * id_rsa * 秘密鍵(SSHクライアントに入れる) * パーミッションは600になっていた * id_rsa.pub * 公開鍵(サーバ側のauthorized_keysに追記する) * パーミッションは644になっていた
# 出力されるテキスト Generating public/private rsa key pair. Enter file in which to save the key (/home/hoge/.ssh/id_rsa): Created directory '/home/hoge/.ssh'. Enter passphrase (empty for no passphrase): パスワードを入れる Enter same passphrase again: パスワードを入れる Your identification has been saved in /home/hoge/.ssh/id_rsa. Your public key has been saved in /home/hoge/.ssh/id_rsa.pub. The key fingerprint is: SHA256:hCK6wwxOcEU/ePWkVPUEHW1hQa1VOyIyOk+dIjxjvcc hoge@servername The key's randomart image is: +---[RSA 4096]----+ | .o o.o.oo+B*| | . o + + oo *| |. o o = oo.. ..* | |.o . o.oo + o o .| |o. OS+ o | |*. . B + | |o+ o E | | . . | | | +----[SHA256]-----+
メモ:入力したパスワードは、SSHクライアント側で秘密鍵を使用する際に入力することになる。
ハマったこと
秘密鍵/公開鍵でSSH接続するときのauthorized_keysのパーミッション
# エラーログ journalctl -u sshd.service | tail → 5月 03 18:52:05 skr01 sshd[3600]: Authentication refused: bad ownership or modes for file /home/hoge/.ssh/authorized_keys