Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
20
Help us understand the problem. What is going on with this article?
@ymaru

CentOS7 の sshd設定

More than 3 years have passed since last update.

CentOS7を新規インストール後に行ったsshd設定のメモです。

クライアント公開鍵の登録

予め、ssh-gen 等でクライアント公開鍵を作成しておきます。

$ cd ~
$ mkdir .ssh
$ chmod 700 .ssh/
$ cd .ssh/
$ vi authorized_keys
… 略 …
$ chmod 600 authorized_keys

.ssh ディレクトリ、authorized_keys ファイルのパーミッションを正しく設定しないと、sshd再起動でエラーになります。

sshdの再起動

bash
# systemctl restart sshd
# systemctl status sshd
● sshd.service - OpenSSH server daemon -l
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2016-06-30 23:57:30 JST; 12s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 2703 (sshd)
   CGroup: /system.slice/sshd.service
           └─2703 /usr/sbin/sshd -D

Jun 30 23:57:30 xxx systemd[1]: Started OpenSSH server daemon.
Jun 30 23:57:30 xxx systemd[1]: Starting OpenSSH server daemon.
Jun 30 23:57:30 xxx sshd[2703]: Server listening on 0.0.0.0 port 22.
Jun 30 23:57:30 xxx sshd[2703]: Server listening on :: port 22.

クライアントから鍵認証でSSH接続して確認します。

これで基本的な鍵認証の設定は終わりです。
あとはポートの変更とかパスワード認証の無効化とかを行います。

SELinuxの設定変更

sshdのポート番号を変更するとそのままではエラーでsshdが起動しないので、SELinuxの設定を変更します。

# yum install -y policycoreutils-python
# semanage port -a -t ssh_port_t -p tcp 12322

sshdの設定変更

sshdのポート番号、rootでのログイン無効化、パスワード認証の無効化を変更します。

# vi /etc/ssh/sshd_config

…略…
# ポート番号
Port 12322
# rootでのSSHログインの可否:yes ログイン可、no ログイン不可
PermitRootLogin no
# パスワード認証の可否:yes パスワード認証可、no パスワード認証不可
PasswordAuthentication no
…略…

SSHを再起動します。

# systemctl restart sshd
# systemctl status sshd -l
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2016-07-01 00:27:38 JST; 27s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 16527 (sshd)
   CGroup: /system.slice/sshd.service
           └─16527 /usr/sbin/sshd -D

Jul 01 00:27:38 xxx systemd[1]: Started OpenSSH server daemon.
Jul 01 00:27:38 xxx systemd[1]: Starting OpenSSH server daemon...
Jul 01 00:27:39 xxx sshd[16527]: Server listening on 0.0.0.0 port 12322.
Jul 01 00:27:39 xxx sshd[16527]: Server listening on :: port 12322.
# ss -natu
Netid State      Recv-Q Send-Q            Local Address:Port                           Peer Address:Port
tcp   LISTEN     0      128                           *:12322                                     *:*                  

ファイアウォールの設定変更

ファイアウォールの設定を変更して、変更したポート番号を開けます。

# vi /etc/firewalld/services/ssh.xml

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="12322"/>
</service>

設定を変更したら、firewalld を再起動します。

# systemctl restart firewalld
# systemctl status firewalld -l
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2016-07-01 00:31:46 JST; 35s ago
 Main PID: 16634 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─16634 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Jul 01 00:31:45 xxx systemd[1]: Starting firewalld - dynamic firewall daemon...
Jul 01 00:31:46 xxx systemd[1]: Started firewalld - dynamic firewall daemon.

クライアントから鍵認証でSSH接続します。接続できれば完了です。

参考

20
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ymaru

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
20
Help us understand the problem. What is going on with this article?