SSH とは?
SSHとは、Secure Shell(セキュアシェル)の略で、リモートコンピュータと通信するためのプロトコルです。
認証部分を含めネットワーク上の通信がすべて暗号化されるため、安全に通信することができます。
インストール
sudo dnf install openssh openssh-clients openssh-server SSH サーバーの起動と自動起動の設定
# 起動
systemctl start sshd
# 自動起動
systemctl enable sshd 設定ファイルのパス
/etc/ssh/sshd_config 設定
# ポート番号
#Prot 22
Port 10022 # 変更後 ファイアウォールのサービスまたは22番ポートを削除するには、新しいポートで接続できた後削除します。
次の「 root 」で接続できないようにする設定は、ユーザーを作成し、新しいユーザーで接続が確認できてから変更します。
PermitRootLogin no パスワード接続できな異様にする設定は、鍵認証で問題なく接続できた後に変更します。
# パスワードで接続できないようにする
PasswordAuthentication no 有効設定になっているものを確認するには、以下のコマンドを実行します。sshd -Tは、サーバーが実際に読み込んでいる設定値 を確認できる
sshd -T
sudo sshd -T | grep -E 'passwordauthentication|permitrootlogin|port' ファイアウォールの設定
SSHのポート番号を「 2222 」に変更した場合、ファイアウォールの設定に追加するには以下のコマンドを実行します。
sudo firewall-cmd --zone=public --permanent --add-port=2222/tcp ファイアウォールの設定から「 ssh 」のサービスを削除するには、以下のコマンドを実行します。
sudo firewall-cmd --permanent --remove-service=ssh SELinux 有効の場合
SELinux が有効の場合、設定を変更して再起動しようとするとエラーになります。文法チェックしてエラーがない場合は SELinux の可能性が高いです。
# 文法チェック
sudo sshd -t semanage コマンドを利用するには、policycoreutils-python-utilsをインストールします。
sudo dnf install -y policycoreutils-python-utils SSH のポート番号を変更した場合、SELinux に新しいポート番号を許可する場合は、以下のようにします。
# ポリシーに追加
semanage port -a -t ssh_port_t -p tcp 2222
# 設定確認
semanage port -l | grep ssh 追加したポートを削除したい場合は、以下のようにします。
sudo semanage port -d -t ssh_port_t -p tcp 2222 ※一覧に出てくるデフォルトの22はシステム標準のため削除できません。