Edited at

ubuntu 18.04 LTS のサーバーに公開鍵認証でssh接続

自分の備忘録でもあり、研究室の皆様向けにも公開。

初めての投稿なので色々指摘していただけると幸いです。

なお、クライアント側で使用するPCのOSがUnix系統(Mac OS X, Linux)であるときの解説です。

以下のサイトを参考にしました。


sshで公開鍵認証を使ってアクセスする

https://qiita.com/mountcedar/items/43157ff1225c56500655



単語解説

覚えておいてほしい単語を解説します。

混ざらぬよう定義しておきます。

サーバ:これから接続するubuntu 18.04 LTSのPC

サーバ側アカウント名:サーバの接続したいアカウント名のこと

クライアント:自分のPC

クライアント側アカウント名:自分のアカウント名のこと

説明のため、サーバーのIPアドレスなどを定義しておきます。

Ubutnu 18.04 LTSのサーバーでは「設定→ネットワーク→歯車マーク→詳細タブ」に記載があります。

サーバIPアドレス: 123.456.78.91

サーバ側アカウント名: hogehoge


クライアント側


 鍵の作成

秘密鍵と公開鍵を作成します。

作成場所は「 /home/<クライアント側アカウント名>/.ssh 」です。

まずは移動します。

$ cd /home/<クライアント側アカウント名>/.ssh #「cd ~/.ssh」でも可

鍵を作成します。

任意の名前をつけてください。

研究室の方は、鍵の名前を「is_rsa_<自分の名字>」にして下さると助かります。

以下、例として鍵の名前を「is_rsa_tanaka」にします。

$ ssh-keygen -t rsa -f is_rsa_tanaka

$ ls
id_rsa_tanaka id_rsa_tanaka.pub

lsコマンドで確認すると、2つの鍵が作成されたことが分かります。

id_rsa_tanaka:秘密鍵

id_rsa_tanaka.pub :公開鍵

このようになっています。


 公開鍵をサーバに送信

アクセスするサーバに公開鍵を送信します。

hogehoge@123.456.78.91」は「サーバ側アカウント名@サーバIPアドレス」という意味です。

送信先は「/home/<サーバ側アカウント名>/.ssh」ですので、「/home/hogehoge/.ssh」となっています。

$ scp id_rsa_tanaka.pub hogehoge@123.456.78.91:/home/hogehoge/.ssh

ただ、サーバーのポートを変更している/変更されている方もいるはずです。

その場合、上記を実行してもエラーがでるはずです。

その方はポートの指定が必要です。

$ scp -P <ポート番号> id_rsa_tanaka.pub hogehoge@123.456.78.91:/home/hogehoge/.ssh

研究室ではポート番号を指定していますので、聞きに来てください。


 秘密鍵の管理

すでに「 /home/<クライアント側アカウント名>/.ssh 」に「id_rsa」が存在する人もいると思います。

複数のサーバーにアクセスする可能性も踏まえてconfigファイルを作成します。


参考: .ssh/configファイルでSSH接続を管理する

https://qiita.com/0084ken/items/2e4e9ae44ec5e01328f1


$ touch ~/.ssh/config #configファイル新規作成

今回の場合は以下を書き込みます。

「#」のコメントは消してください

# hogehoge@123.456.78.91サーバー

Host hogehoge #ホスト名
HostName 123.456.78.91 #IPアドレス
User hogehoge #ログインユーザー
IdentityFile ~/.ssh/id_rsa_tanaka #秘密鍵のパス
Port 22 #ポート番号。初期は22ですが変更している場合は各自で確認してください。


 接続確認

サーバーに接続できるか確認します。

$ ssh hogehoge

終了は「exit」です。

$ exit

Connection to 123.456.78.91 closed.


最後に

ubuntu 18.04 LTSのサーバー立ち上げ方法については、後日時間があれば.....