はてなブログからWordPressにサイトを移行対応中です。まだ画像の表示やレイアウトの崩れがありますのでご了承下さい。

CentOSでSSHを初期設定する方法

この記事では、CentOS 6(ここでは6.9)にSSHを初期設定する方法を解説します。

VPSや自前サーバーを構築したらまずやっておくべき設定です。ここではパスワード認証を無効にして鍵認証を導入します。

スポンサーリンク
目次

設定手順

設定ファイルを開きます。

$ sudo vi /etc/ssh/sshd_config

以下の通りに設定を書き換えます。

PermitRootLogin no #ルートログインを禁止する(44行目付近)
PasswordAuthentication no #パスワード認証を無効にする(66行目付近)
PermitEmptyPasswords no #パスワードなしでのログインを禁止(67行目付近)

必須ではないですが、デフォルトのポート22は攻撃の対象になりやすいのでポートも変更しておきます。(任意)

#Port 22 #コメントアウト(13行目付近)
Port 20022

設定ファイルを保存して終了後、ユーザーのホームディレクトリに公開鍵を設置するディレクトリを作成します。[user]のところは自身のユーザー名に置き換えてください。

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ chown user:user ~/.ssh

公開鍵ファイルを作成し、PuTTYなどで作成した公開鍵をコピー&ペーストする。

$ vi ~/.ssh/authorized_keys

公開鍵ファイルのパーミッションを変更します。

$ chmod 600 ~/.ssh/authorized_keys
$ chown user:user ~/.ssh/authorized_keys

ポートを変更した場合、iptablesコマンドやsystem-config-firewallなどの設定ツールでポートを開放します。ポートを変更しなかった場合は標準の22番を開放します。

$ sudo iptables -A INPUT -p tcp --dport 20022 -j ACCEPT

サービスを再起動します。

$ sudo service sshd restart

システム起動時に自動で起動させます。

$ sudo chkconfig sshd on

これで作業は完了です。念のため現在接続しているセッションをそのままにして、新規でターミナル接続可能かどうかを確認してみましょう。もしログイン出来ない場合、パーミッションや鍵ファイルに誤りがある可能性があります。以下の場所に認証ログが残りますので、確認して原因を探ってみてください。

$ sudo view /var/log/secure
この記事をシェア
  • URLをコピーしました!
目次