LoginSignup
1
1

More than 5 years have passed since last update.

CentOS設定記録5 ssh鍵変更編

Last updated at Posted at 2017-09-08

はじめに

Linux初心者の設定記録
思いついた順で設定していきます

設定記録1:IDCFクラウド登録~ssh接続
設定記録2:ログインユーザー作成~rootのSSH接続禁止
設定記録3:Apacheサーバー設定~DNS設定まで
設定記録4:Digest認証導入
の続き

今回の目的

  • sshの設定変更

sshの認証と通信

公開鍵・秘密鍵を使った認証で、ハッシュ関数で使う乱数シードを受け渡し。
以後はそのシードをもとに通信をやり取りする、という理解。
いまいち理解しきれていないが、いったんはその理解で進める。またいずれ調べる。

ssh認証

現状

  • IDCFクラウド登録時に生成したSSH認証鍵はRSAのkey size 1024bit
    ssh-keygen -l -f /home/username/.ssh/authorized_keys
    1024 54:03:ec:4b:15:98:85:c7:8d:88:29:72:06:83:28:9c (RSA) #結果 1024bitのRSA
  • ググったらSSH認証で使用されるもので多いのはRSAの2048bit
  • 1024bitでもすぐに危ないという感じではなさそうだが、あまりよろしくはなさそう

暗号アルゴリズムの安全性

IPA 発行のSSL/TLS 暗号設定 ガイドラインのP13に暗号アルゴリズムの安全性について記載あり
SSLではないけれど、暗号アルゴリズムの安全性ということでは同様のはずなので、新アルゴリズムはここを参考に選ぶ

  • RSA 1024bitはビット安全性が80 ビット、つまり2^80の計算量で暗号ができる
  • RSA 4096bitでもビット安全性は128~192ビットの間

RSAとは違うECDSA という暗号アルゴリズムも利用できる。
ECDSA 521bitはRSAの15360bitに匹敵するビット安全性らしい。
一定以上のkey sizeなら暗号速度がRSAより早くなるらしい。
また、521なのは512のtypoではなく、速度向上のためらしい。

ということでECDSA 521bitで設定してみることにする。

抜粋

ビット安全性 暗号スイート
80 ビット RSA-1024
ECDSA-160
112 ビット RSA-2048
ECDSA-224
128 ビット ECDSA-256
128 ビット

192 ビット
RSA-4096
192 ビット ECDSA-384
256 ビット ECDSA-521

ECDSAでの鍵生成

BashOnWindows
ssh-keygen -t ecdsa -b 521 -N ""
# -t でアルゴリズム指定 -b でkey size指定 -Nでパスフレーズ指定
#ファイル名はid_ecdsaがデフォルト設定なのでそのままEnterすれば ~/.ssh/id_ecdsa とecdsa.pubができる

#作った公開鍵をサーバーへ転送
scp -i ~/.ssh/id_rsa -P 2222 ~/.ssh/id_ecdsa.pub username@example.com:~/.ssh/

#サーバーへ接続
ssh idcfCloud
#まずは現在の公開鍵をバックアップ
cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.old
#公開鍵を上書き
cat ~/.ssh/id_ecdsa.pub > ~/.ssh/authorized_keys
BashOnWindows上で実行
#ecdsaでssh認証できるか確認
ssh -i ~/.ssh/id_ecdsa username@example.com -p 2222

認証に問題なければバックアップファイルとRSAの秘密鍵は削除してOK
rm ~/.ssh/authorized_keys.old

SSH接続用configファイルも書き換える

BashOnWindows上で実行
vim ~/.ssh/config
#IdentityFile ~/.ssh/id_rsa #コメントアウト
IdentityFile ~/.ssh/id_ecdsa #追記

これで行けるはず。
ダメならsshdのrestartや、サーバー側の~/.ssh/authorized_keysのパーミッションが600になってるか確認
systemctl restart sshd.service
chmod 600 ~/.ssh/authorized_keys

セキュリティ

暗号方式について調べたときに知った副産物

/etc/ssh/sshd_config
#HostKey /etc/ssh/ssh_host_rsa_key #コメントアウト
AddressFamily inet #IPv4のみ
AllowUsers username #認証ユーザー指定、複数ユーザーはスペース区切り username username2

参考URL

いろいろssh設定について書いてある
http://www.nca.gr.jp/imgs/nca_ssh_server_config_v01.pdf

P13にビット安全性の一覧表がある
https://www.ipa.go.jp/files/000045645.pdf

http://labunix.hateblo.jp/entry/20160228/1456586770
https://blog.ayurina.net/2016/07/15/ssh%E9%8D%B5%E3%81%AE%E6%9A%97%E5%8F%B7%E5%8C%96%E6%96%B9%E5%BC%8F%E3%82%92%E5%BC%B7%E5%8C%96%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82/
https://wiki.archlinuxjp.org/index.php/SSH_鍵
http://qiita.com/suthio/items/2760e4cff0e185fe2db9

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1