スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

sshの公開鍵認証を使ってパスワード認証を無効にする

セキュリティ上公開サーバーではやっとくべきだよねー。
とはいえ久々の作業でいくつか躓いたのでメモがてら手順と設定を。

今回はクライアントはWindows10(TP)のTeraTerm。サーバーはさくらVPSのCentOS(6.7)。

1.クライアント側で鍵ペアを作成する
TeraTermの場合は設定>SSH鍵生成から。
ダイアログが開くのでRSAにチェック、ビット長は2048。
パスフレーズは入れても入れなくてもよいけれども、パスフレーズ入れて生成すると公開鍵+パス認証になってよりセキュアかもしれない。
コメントはご自由に。なにも入れないとユーザー名+PCnameになる模様。

できた鍵ペアはどっかユーザー領域に保存。(Teratermのプログラムフォルダに置きたかったけど、直接やると権限の問題で保存できない模様。)

ちなみにクライアントLinuxで鍵を生成するには

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tmin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): ←好みのパスフレーズ
Enter same passphrase again:
Your identification has been saved in /home/tmin/.ssh/id_rsa.
Your public key has been saved in /home/tmin/.ssh/id_rsa.pub.
The key fingerprint is:



2.公開鍵をサーバーに送ってリネーム
できた鍵ペアのうち公開鍵のほうをサーバーに転送。
TeraTermでは、普通に今まで通りサーバーにログインした状態でコンソールのとこにドラッグ&ドロップでSCP転送ができます。
サーバーのほうで送られた鍵を確認。
/homeで $ ls してid_rsa.pubが存在するのを確認したら、指定のフォルダを作成して権限変えて移動。

$ mkdir .ssh
$ chmod 700 .ssh
$ mv id_rsa.pub ./ssh/authorized_keys


.sshっていう隠しフォルダ作成、フォルダの権限を700に変更(←これしないとあとでsshd[30931]: Authentication refused: bad ownership or modes for directoryとかって怒られてログインできない)、.sshフォルダにid_rsa.pub(scpで送った鍵)をauthorized_keysとして保存。

3.sshの設定ファイル書き換え

$ sudo emacs /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $

# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin
(以下略


別に編集はnanoでもviでもいいのですけれども。

細かい設定項目の解説はここが詳しかった。SSH サーバの設定

今回は通常の平文パスワード認証を拒否、公開鍵認証のみ、rootログイン禁止にする、というごくごく初歩的な感じですが、個人公開サーバーならこれくらいでも?(ポート変更、指定ホスト以外のログイン拒否とかやったほうがいい場合もあるかとは思う。

というわけで、一応バックアップはとって設定をいじります。

$ cd /etc/ssh/
$ sudo cp sshd_config sshd_config.bac
$ sudo emacs sshd_config



configファイルの中で先頭に#がついてるのはコメントアウトなので、必要部分はコメントアウト消して設定を書き込みます。
PermitRootLogin no rootログイン禁止

PubkeyAuthentication yes ←公開鍵(RSA2)
AuthorizedKeysFile %h/.ssh/authorized_keys ←公開鍵置き場指定

PasswordAuthentication no パスワード認証によるログイン禁止

とりあえずこんなもんでしょうか。うまくログインできなかったり逆に禁止がきいてなかったらほかの項目も見てみましょう。デフォルト設定が軟化してたりするかもしれないし。(ほかにもいくつか書き換えた気が??

4.ssh再起動して動作確認
設定反映のため再起動

$ sudo service sshd restart


ここで今までの作業端末ははじかれないので、そのまま繋いどきましょう。これ切っちゃうと失敗してログインできなくなった時に大変です。(さくらのVPSならWeb上の仮想端末から何とかできなくもないですが)
「新しい接続」で同じサーバーにつなぎます。
今までと同じようにユーザーとパスワード入れてはじかれたらOK。
次にユーザー入れてパスワードを入れないで「RSA/DSAECDSA/ED25519鍵を使う」にチェック入れて、秘密鍵(最初に作ったid_rsaのほう)を選択して(鍵作るときにパスフレーズ入れてたらここでパスフレーズも入力して)、ログインできればOK。
最後にユーザーrootでrootパス入れて、これもはじかれればおk。

5.ちなログ
ちなみにsshのログは/var/log/secure。普通に出すと結構長いので、tailfとかで最後のほう見ればいいと思う。自分のIPとかでgrepかけてもいいけど。

$ sudo tailf /var/log/secure
Authentication refused: bad ownership or modes for directory /home/xxxx/.ssh (←これが上のほうで言ってた.sshの権限変更忘れたときのログ)



Failed password for root from 106.240.248.75 port 57927 ssh2
まぁずらっと見てくとこんな感じで同一IPから連続してログインしようとして失敗してるログがしばらく続いてる時間とかあったりするので、ちょっと長く見てみるのもいいでしょう。

今さらやっとこさこんな設定した僕が言えたこっちゃないですが、ssh抜かれるってのはサーバーを完全に乗っ取られるのと同義なので最低限の対策はしといた方がいいですね❗

関連記事
sshでファイル転送(scp)
sshでデフォルトポート変更& ssh-keygenで鍵生成
関連記事
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

コメントの投稿

管理者にだけ表示を許可する
ブログ内検索

カスタム検索

フリーエリア

クリックで救える命がある。

レンタルサーバー

さくらのマネージドサーバ
さくらインターネットのVPS
ConoHaのVPS
WebARENA VPSクラウド
99円レンタルサーバー
【CloudCore VPS】
GMOクラウドのレンタルサーバー
転送量無制限 ABLENET
@WAPPYレンタルサーバー
SPPDレンタルサーバー

カテゴリー+月別アーカイブ

 

アクセスカウンター

現在の閲覧者数:

プロフィール

tmin

Author:tmin
PCヲタ。ライト2ちゃんねら。
スロット好きのギャンブラー。(元
むしろ人生がギャンブルだが目下のところ負けっぱなし。
座右の銘は「結果オーライ」。故に基本適当。
トラブルもまた楽しみのひとつ

コメント、トラバ、相互リンク歓迎。お気軽にどうぞ。
当ブログについて
Twitterでこっちとあっちの更新情報流すことにしてみます。
http://twitter.com/t_min
Project Mikunchu♪Wikiできました。
Mikunchu200x40.png


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。