SSH を使ってリモートサーバーに接続する方法
2017/09/20 06:00
  • 毎日嫌というほど使う SSH! 鍵ペアの作成からリモートサーバーにログインするまでをまとめました。

    秘密鍵/公開鍵の鍵ペアを作成する

    まず、鍵のペアをローカルマシン上で作成します。

    $ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/xxxxx/.ssh/id_rsa): # 一つ目の鍵ペアを作成する際はデフォルトのままでOK
    Enter passphrase (empty for no passphrase): # パスフレーズを設定します
    Enter same passphrase again:  # 確認のためパスフレーズをもう一度入力します
    Your identification has been saved in /Users/xxxxx/.ssh/id_rsa.
    Your public key has been saved in /Users/xxxxx/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:iGsUwUSSFrPosicKrDrp5ycL5qd3NwUMS0P2+iW9BSg xxxxx@oreore.local
    The key's randomart image is:
    +---[RSA 2048]---+
    |  +*=o           |
    | .o+o=. .        |
    |... oE=o .       |
    |.    +o+. .      |
    |..  o...So .     |
    |o. . .. o.o      |
    |+=. o  ...       |
    |Oo.* o o         |
    |*=*o= . .        |
    +---[SHA256]---+
    

    ※鍵ペアの作成は、うっかり同じ名前で作成すると上書きされてしまうので注意しましょう。
    簡単ではありますがこれで鍵ペアの作成が完了しました。

    リモートサーバーに公開鍵を登録する

    続いて、先程作成した鍵ペアのうち、公開鍵の方をリモートサーバーに登録します。

    ローカルサーバーにて

    $ cat ~/.ssh/id_rsa.pub
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDnkZsn46LwuA68diCvy3E0B3Cek3GFi5ghF0visKNchd+LaGeZ72G3RuO9Jna5p1mb9Y6G2E9hcVDE+1kfDwKd7GIAHmPdRjtWqDLCI1DyCh8TGRCNg63M/NFGMjiLwI+XcuKMNRCsxKm229OESyJ4Uz9S1H9uKMaOJ41mmCwYnl9P6/VjxjxLbV6DKJ6kiWxStAgApjeIpGSrr25juCTEADcfjM4aByphiQ0BSf2n+KOCxMpp+e+wHONf+MM9T24TXWCJU2JJeUHtr1uBXd68OoLR2Vb4ObyeugVYxsAgmhaOjYuYzLeHwO6Xl9gX9w9H6lLWzzvO3j+K7ZpG/Ont xxxxx@oreore.local
    
    # ↑ ssh-rsa から xxx@oreore.local まですべてをコピーする
    

    リモートサーバーにて
    # コピーした公開鍵をリモートサーバーの authorized_keys に追加する
    $ echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDnkZsn46LwuA68diCvy3E0B3Cek3GFi5ghF0visKNchd+LaGeZ72G3RuO9Jna5p1mb9Y6G2E9hcVDE+1kfDwKd7GIAHmPdRjtWqDLCI1DyCh8TGRCNg63M/NFGMjiLwI+XcuKMNRCsxKm229OESyJ4Uz9S1H9uKMaOJ41mmCwYnl9P6/VjxjxLbV6DKJ6kiWxStAgApjeIpGSrr25juCTEADcfjM4aByphiQ0BSf2n+KOCxMpp+e+wHONf+MM9T24TXWCJU2JJeUHtr1uBXd68OoLR2Vb4ObyeugVYxsAgmhaOjYuYzLeHwO6Xl9gX9w9H6lLWzzvO3j+K7ZpG/Ont xxxxx@oreore.local" >> ~/.ssh/authorized_keys
    

    接続確認をする

    最後に接続確認を行います。

    # hoge.host に hoge-user で接続する
    $ ssh hoge-user@hoge.host
    hoge-user@hoge.host's password: # パスフレーズを入力する
    Last login: Sun Sep 17 23:05:26 2017 from xxx.xxx.xxx.xxx
    ...
    ...
    

    以上で完了です。
    パスフレーズは接続するたびに聞かれます。
    もし macOS Sierra を使っている場合は、キーチェーンに登録してしまいましょう。

    Linux の場合は以下でOK。

    $ ssh-agent bash
    $ ssh-add
    Enter passphrase for /home/xxxx/.ssh/id_rsa: 
    


    最後に

    リモートサーバーにログインする方法はパスワード認証と公開鍵認証がありますが、
    パスワード認証は使わないようにしましょう。

    また、 root でのログインも禁止しておくべきですね。
    これらはすべて SSH の設定で変更できます。


    人気ブログランキングへ ブログランキング・にほんブログ村へ
    ↑応援よろしくお願いします!m(_ _)m

  • <2017/09/20 06:00>
  • サーバー
  • SSH公開鍵秘密鍵リモート認証パスフレーズ
  • 新しい記事へ
    [所感] slack view optimizer の日別ユーザー数が100人を突破しました

    古い記事へ
    ぼくはこうやって WP-CLI のコントリビューターになりました

profile picture

自己紹介的な何か

@wkmettyでついったーやってます。時々。 6年間勤めたゲーム会社を2018年2月に退職しフリーランスのプログラマに。 WordPress Core, WP-CLI コントリビューター。 お仕事募集中です。