差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| linux:open_ssh:server [2014/06/12 13:53] – [SSH chroot の設定] ともやん | linux:open_ssh:server [2019/02/16 21:36] (現在) – 削除 ともやん | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ====== ssh サーバーの設定 ====== | ||
| - | ===== 基本設定 ===== | ||
| - | ==== ssh サーバーの設定ファイル ==== | ||
| - | 以下のファイルの内容を編集する。< | ||
| - | / | ||
| - | </ | ||
| - | |||
| - | ==== 標準設定の port 22 の変更 ==== | ||
| - | < | ||
| - | #Port 22 | ||
| - | Port 22022 | ||
| - | </ | ||
| - | |||
| - | ==== root ユーザーのログインを禁止 ==== | ||
| - | < | ||
| - | # | ||
| - | PermitRootLogin no | ||
| - | </ | ||
| - | |||
| - | ==== パスワードではなく鍵によるログインに変更 ==== | ||
| - | < | ||
| - | # | ||
| - | PasswordAuthentication no | ||
| - | </ | ||
| - | |||
| - | ==== 設定の反映 ==== | ||
| - | sshd サービスを再起動する。< | ||
| - | $ sudo service sshd restart | ||
| - | sshd を停止中: | ||
| - | sshd を起動中: | ||
| - | </ | ||
| - | |||
| - | ==== ファイヤーウォール設定 ==== | ||
| - | === CentOS の場合 === | ||
| - | 定義を追記する。 | ||
| - | < | ||
| - | $ sudo vi / | ||
| - | </ | ||
| - | < | ||
| - | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22022 -j ACCEPT | ||
| - | </ | ||
| - | |||
| - | === Fedora の場合 === | ||
| - | 許可されているサービスの確認。 | ||
| - | < | ||
| - | $ 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 | ||
| - | </ | ||