差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
linux:open_ssh:server [2015/05/13 23:18] – [設定の反映] ともやん | linux:open_ssh:server [2019/02/16 21:36] (現在) – 削除 ともやん | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== ssh サーバーの設定 ====== | ||
- | ===== 基本設定 ===== | ||
- | ==== sshログインメッセージの設定 ==== | ||
- | < | ||
- | $ sudo vi /etc/motd | ||
- | </ | ||
- | < | ||
- | Tomoyan.net. Server 1号機 | ||
- | </ | ||
- | |||
- | ==== ssh サーバーの設定 ==== | ||
- | 以下のファイルの内容を編集する。< | ||
- | $ sudo vi / | ||
- | </ | ||
- | |||
- | ==== 標準設定の port 22 の変更 ==== | ||
- | < | ||
- | #Port 22 | ||
- | Port 22022 | ||
- | </ | ||
- | |||
- | ==== root ユーザーのログインを禁止 ==== | ||
- | < | ||
- | # | ||
- | PermitRootLogin no | ||
- | </ | ||
- | |||
- | ==== パスワードではなく鍵によるログインに変更 ==== | ||
- | < | ||
- | # | ||
- | PasswordAuthentication no | ||
- | </ | ||
- | |||
- | ==== 設定の反映 ==== | ||
- | sshd サービスを再起動する。 | ||
- | |||
- | === CentOS 6 === | ||
- | < | ||
- | $ sudo service sshd restart | ||
- | sshd を停止中: | ||
- | sshd を起動中: | ||
- | </ | ||
- | |||
- | === Fedora / CentOS 7 === | ||
- | < | ||
- | $ sudo systemctl restart sshd | ||
- | </ | ||
- | ==== ファイヤーウォール設定 ==== | ||
- | === CentOS 6 以前 === | ||
- | 定義を追記する。 | ||
- | < | ||
- | $ sudo vi / | ||
- | </ | ||
- | < | ||
- | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22022 -j ACCEPT | ||
- | </ | ||
- | |||
- | === Fedora / CentOS 7 === | ||
- | 許可されているサービスの確認。 | ||
- | < | ||
- | $ sudo firewall-cmd --list-services | ||
- | mdns dhcpv6-client ssh | ||
- | </ | ||
- | ssh の許可を永続的に削除 | ||
- | < | ||
- | $ sudo firewall-cmd --permanent --remove-service=ssh | ||
- | </ | ||
- | 代わりにポート 22022 を永続的に許可。 | ||
- | < | ||
- | $ sudo firewall-cmd --permanent --add-port=22022/ | ||
- | </ | ||
- | firewalld の状態を失わずにリロード。 | ||
- | < | ||
- | $ sudo firewall-cmd --reload | ||
- | </ | ||
- | \\ | ||
- | 許可されているサービスの確認。 | ||
- | < | ||
- | $ sudo firewall-cmd --list-services | ||
- | mdns dhcpv6-client | ||
- | </ | ||
- | 許可されているポートの確認。 | ||
- | < | ||
- | $ sudo firewall-cmd --list-ports | ||
- | 22022/tcp | ||
- | </ | ||
- | |||
- | ==== sudo の後もエージェントフォワードを引き継ぐ方法 ==== | ||
- | < | ||
- | $ sudo visudo | ||
- | </ | ||
- | <code autoconf> | ||
- | # | ||
- | # Adding HOME to env_keep may enable a user to run unrestricted | ||
- | # commands via sudo. | ||
- | # | ||
- | # Defaults | ||
- | Defaults | ||
- | </ | ||
- | ==== SSH chroot の設定 ==== | ||
- | |||
- | === ユーザー作成 === | ||
- | <code autoconf> | ||
- | $ sudo useradd [username] | ||
- | </ | ||
- | |||
- | === SSHユーザーのルートディレクトリを作成 === | ||
- | <code autoconf> | ||
- | $ sudo mkdir -p / | ||
- | </ | ||
- | |||
- | === SSH公開キーの設定 === | ||
- | ※SSHサーバーが公開鍵認証に設定されていることを前提とします。 | ||
- | - SSHの設定を保存するディレクトリを作成。< | ||
- | $ sudo mkdir / | ||
- | </ | ||
- | - SSHユーザーがオーナーになるように設定。< | ||
- | $ sudo chown [username].[username] / | ||
- | </ | ||
- | - オーナーのみアクセスを許可するようにパーミッションを設定。< | ||
- | $ sudo chmod 700 / | ||
- | </ | ||
- | - 認証を許可するユーザーの公開鍵(OpenSSH形式)を登録。< | ||
- | $ sudo vi / | ||
- | </ | ||
- | ssh-rsa AAAAB... | ||
- | </ | ||
- | - 公開鍵のオーナー/ | ||
- | $ sudo chown [username].[username] / | ||
- | $ sudo chmod 600 / | ||
- | </ | ||
- | |||
- | === sshdの設定 === | ||
- | - sshd設定ファイルを編集。< | ||
- | $ sudo vi / | ||
- | </ | ||
- | - sftp-server をコメントアウトして internal-sftp を利用するように変更。< | ||
- | # override default of no subsystems | ||
- | # | ||
- | Subsystem | ||
- | </ | ||
- | - ユーザー毎のchroot設定を追加。< | ||
- | Match User [username] | ||
- | ChrootDirectory / | ||
- | X11Forwarding no | ||
- | AllowTcpForwarding no | ||
- | ForceCommand internal-sftp | ||
- | </ | ||
- | |||
- | === sshdの設定を反映 === | ||
- | |||
- | == Fedora == | ||
- | < | ||
- | $ sudo systemctl reload sshd.service | ||
- | </ | ||
- | |||
- | == CentOS == | ||
- | < | ||
- | $ sudo service sshd reload | ||
- | </ | ||
- | |||
- | ===== トラブルシューティング ===== | ||
- | |||
- | ==== secure ログに subsystem request for sftp failed, subsystem not found が記録される ===== | ||
- | sshd_config に internal-sftp の設定漏れ。 | ||
- | < | ||
- | # override default of no subsystems | ||
- | # | ||
- | Subsystem | ||
- | </ |