code-log

ソフトウェアに関すること

【mac】ssh-id-copyで簡単にできる公開鍵認証

サーバーを立てて、SSHでログインする為に、公開鍵認証でログインすると思います。その際に、ホストのサーバーから公開鍵を渡したり、鍵の権限を変えたりと、めんどくさい作業があります。しかし、ssh-id-copyを使うと、そんなめんどくさい作業がたった3ステップで終えることができます。

ssh-keygenの作成

まずはじめに、サーバーに渡す鍵を作成します。下記のコマンドをコピペしてください

$ ssh-keygen -t rsa -b 4096

ssh keyが作成されると、passphraseを聞かれるので入力。

passphraseに関してはこちらの記事が参考になります。

http://freak-da.hatenablog.com/entry/20100901/p1
ssh-keygenの作成に関しては、下記の記事を参照しました。

https://qiita.com/suthio/items/2760e4cff0e185fe2db9

ssh-copy-idのインストール

macでの環境が前提なので、brewで簡単にインストールしていきます。

$ brew install ssh-copy-id

使用方法
立てたサーバーに、パスワード認証でログインできることを確認してください。そして下記のコマンドを入力します。

~/.ssh/id_rsa.pubを渡す場合

$ ssh-copy-id user@host-ip
  • iオプションをつけると、任意の公開鍵を指定することができます。
$ ssh-copy-id -i ~/.ssh/mykey user@host-ip

これで管理サーバーに鍵を渡すことができました。sshでログインすると、パスワードなしで入ることができます。

sshでログインする

$ ssh ユーザーネーム@サーバーIP

最後に

ssh-copy-idを使うと簡単に公開鍵を渡すことができました。もし、公開鍵を渡す場合はこの方法を試してみてください。