読者です 読者をやめる 読者になる 読者になる

釣りとバイクと自転車とキャンプと開発と。

趣味の釣り・キャンプ・バイク・自転車と、仕事のプログラミング系の記事を書きます。

【Debian】sudoとsshと鍵

お試し環境のDebianにはrootでsshでパスワード手入力で接続していたけれど、

セキュリティ強化の意味もあるので、手入力のパスワードを無効にして、鍵のみで接続するように設定変更する。

あと、その他諸々。

 

rootでsshでログイン。

※TeraTerm使いました。

 

sudoが入ってなかったので、

$apt-get install sudo

でsudoをインストール。

 

新しいユーザーを、

$useradd ユーザー名

で作成。

パスワート以外は特に指定せず。

 

visudoでsudoの設定を開き、

# User privilege specification
作ったユーザー名    ALL=(ALL) NOPASSWD:ALL

作ったユーザー名の権限を追加。

とりあえずは「NOPASSWD:ALL」で全部パスワードなしでsudoできるように。

 

【注意】

visudoの編集が間違っていた場合、エラー行が表示されたりします。

で、「sudoers file busy, try again later.」の様なメッセージがでて、

visudoが編集できなくなる事があります。

私の場合は、Debianを再起動する事で編集可能になりました。

エラーでファイルつかみっぱなしになってるんでしょうかね?

 

ここで新しく作ったユーザーでsshでログインしなおす。

※rootのままsudoでユーザー指定して実行してもいいけど。

 

 

$ssh-keygen

でキーを作成。

パスワード等を聞いてくるけど、何も指定せずにgo。

 

/home/ユーザー名/.sshフォルダ内に、下記のファイルが出来ます。

id_rsa:秘密鍵

id_rsa.pub:公開鍵

 

「id_rsa:秘密鍵」ファイルを使っているwindowsPCにコピーし、Debian上から削除。

※TeraTermの「ファイル」メニュー内の機能でPCにコピーできます。

 

「id_rsa:公開鍵」はデフォルトで利用してくれる名称に変更(コピー)し、アクセス権限を付与する。

$cat /home/新しいユーザー名/.ssh/id_rsa.pub > /home/新しいユーザー名/.ssh/authorized_keys
$chmod 600 /home/新しいユーザー名/.ssh/authorized_keys

 で、最後にsshd_configファイルを開いて、下記の設定になっているか確認する。

異なっていたり、#がついていたら直す。

 

$vi /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no

 他の設定値はデフォルトで大丈夫だった。

authorized_keysのパスも確認した方がいいかも。

これでパスワードでのログインが出来ず、鍵を使ったログインしか出来なくなっているはず。

 

もっとこうした方がセキュリティが高まる等、色々あると思いますが、

とりあえず今日はここまで。