OSXでssh-copy-idを使ってリモートサーバにパスワードなしでログインする

OSXssh-copy-idを使う方法です。

何ができる?

  1. sshでサーバにログインする際のパスワード入力が不要になる。
  2. そのために必要なssh公開鍵の配布を簡単に行うことができる。

インストール

beautifulcode/ssh-copy-id-for-OSX - GitHubを使います。

  1. ダウンロード

     curl https://raw.githubusercontent.com/beautifulcode/ssh-copy-id-for-OSX/master/ssh-copy-id.sh -o /usr/local/bin/ssh-copy-id
    
  2. 実行権限を付与

     chmod +x /usr/local/bin/ssh-copy-id
    

使い方

  1. 公開鍵を生成します。~/.ssh/id_rsa.pubが存在する場合は不要です。

     ssh-keygen  
    

    以下が生成されます。

     ~/.ssh/id_rsa.pub
    
  2. 公開鍵を配布します。

    通常

     ssh-copy-id [ユーザID]@[リモートサーバ]
     ssh-id-copy root@192.168.100.10 #例
    

    ~/.ssh/id_rsa.pub以外の公開鍵を使う場合

     ssh-copy-id -i 公開鍵のフルパス [ユーザID]@[リモートサーバ]
     ssh-id-copy ~/.ssh/myidentity.pub root@192.168.100.10 #例
    

    ※ ログインパスワードを聞かれるので入力します。

  3. sshでリモートのサーバにログインします。

     ssh [ユーザID]@[リモートサーバのアドレス]
     ssh root@192.168.100.10 #例
    

    ※ ログインパスワードは聞かれません。