0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ssh鍵を使ってsshログインできるようにする

Posted at

はじめに

長らくハマってたssh鍵作成~sshログインまでの流れがようやく理解&成功したので
メモっとく。

参考

元々は↓↓の記事作ってた。でもこのやり方は、接続先サーバのauthorized_keysに公開鍵をコピペで張り付けるっていう力技。
よそのサイトで紹介してるssh-copy-idを使ってのスマートなやり方がわからなかったための苦肉の策でした。

先に結論

クライアント側からssh-copy-idを使ってサーバ側へ公開鍵を渡すためには、前提として 「そのユーザーはそもそもクライアント~サーバ間でパスワード認証でssh接続できること」 が必須。

今までずっと「鍵を渡すためにはssh通信できないといけないのにどうやってほかの人はssh鍵を渡しているんだ…」とおもってたけど、
わかってしまえば何のことはない話だった。。。

あと、ssh接続時に使うユーザー名はクライアント側とサーバ側でそろえておいたらいいです。
そろってなくてもできる気もするけど検証する気が起きないのでそこは割愛。

↓↓のサイトのおかげでようやく結論にたどり着けた。。。感謝

改めて手順の説明

構成

HOST名 IPアドレス 使用するユーザー名 備考
nbfr151v 10.1.0.5 nabehiro クライアント
nbfr152v 10.1.0.6 nabehiro サーバ

1. パスワード認証設定にする(サーバ / root)

/etc/ssh/sshd_configを確認して、以下のようにパスワード認証を有効にする

/etc/ssh/sshd_config
#PasswordAuthentication yes
PasswordAuthentication no

sshdを再起動。これやってもssh接続が切れることは無いので安心してください。

systemctl restart sshd

2. ssh鍵を作成する(両方 / nabehiro)

新規でユーザーをつくったケースを想定しているので.sshは新規で作る
受け入れ側も.sshないと公開鍵を受け取る場所がないのでサーバ側にも作った

$ mkdir ~/.ssh && chmod 700 ~/.ssh
$ cd ~/.ssh
$ ssh-keygen -t rsa -b 4096

実行後の画面
image.png

実行後の.ssh/
秘密鍵(id_rsa)と公開鍵(id_rsa.pub)が作られる。
名前指定してないとid_rsaって名前になる
image.png

3. パスワード認証で接続(クライアント / nabehiro)

ここが前半のクライマックス。
パスワード認証できれば次の認証鍵でのパスワード不要な認証へチャレンジできる。
秘密鍵がデフォルトの場所ならサーバとログインアカウントの指定だけでOK。

ssh nabehiro@10.1.0.6

image.png

4. 公開鍵の転送(クライアント / nabehiro)

ssh-copy-idを使って転送する

## dry-runで確認
ssh-copy-id -n nabehiro@10.1.0.6

## -nを外して実行
ssh-copy-id nabehiro@10.1.0.6

実行結果
image.png

なお、ssh-copy-idに成功すると↓↓のようにauthorized_keysが作成され、そこに公開鍵がコピーされる
image.png

5.鍵認証を使ってログイン(クライアント / nabehiro)

ログインコマンドはこちら。-iは鍵ファイル名を指定する

ssh -i id_rsa nabehiro@10.1.0.6

実行結果
image.png

ちなみに、試しでid_rsaを複製して.ssh/id_rsa2を使ってログインしようとしたら-i ~/.ssh/id_rsaと指定しないとダメだった。
id_rsaだけが特別なんだなと思いました。

オマケ:サンプルユーザーの作り方

また同じ要領でハマったときにつるっと検証できるようにユーザー追加コマンドを置いておく
検証用の使い捨てユーザーなのでBAD PASSWORDと叱られても気にしないのがコツ。

useradd -m -d /home/nabehiro nabehiro
passwd nabehiro
nabehiro
nabehiro

# 削除したいときはuserdel。-r使ってホームディレクトリごと消す
userdel -r nabehiro

作成時の結果はこちら
image.png

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?