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

ikeike443のブログ

ソフトウェアビジネスに関心がある系のブログ

ssh公開鍵の設定

Linux

いつもいつもやり方を忘れるので自分のためにメモ。

サーバ側には既にsshがインストールされていて鍵交換認証を要求している前提。

まずクライアント側で公開鍵を生成する。


$ ssh-keygen

パスフレーズを聞かれるので任意のフレーズを設定する。
公開鍵のパスフレーズとサーバのログインパスワードを混同しないこと。別のものを設定しないとあんまり意味がない気がする。

生成された公開鍵をサーバ側に送る。
下記のような感じでscpコマンドでさくっと送りたいところだけど、


$ scp .ssh/id_rsa.pub xxxx@xxxx:

サーバ側にクライアントの公開鍵がまだないので(当たり前)、アクセス拒否される。

アクセス許可してもらうために公開鍵をサーバに送りたいのだが、まだサーバは公開鍵を持っていないからクライアントを認証できずに拒否。
卵が先なのか、鶏が先なのか。。悩む。。
みんなどうやってるんだろう。

僕はとりあえずsambaで公開しているディレクトリに公開鍵を送っておいて、別の端末からサーバにアクセスして公開鍵を保存しているが。
これが正しいやり方なのかがよくわからん。。

とりあえず、別端末からサーバにログインして送っておいた公開鍵をauthorized_keysファイルに追記する。


$ cat xxx/id_rsa.pub >> .ssh/authorized_keys

追記したら公開ディレクトリにある鍵ファイルは消してしまう。

これでサーバ側に鍵がセットされたので、sshコマンドでログイン。


$ ssh xxx

先ほど設定しておいた鍵のパスフレーズを聞かれるので入力してやると、無事認証されログインできるようになる。

以上メモ。