自分の備忘録でもあり、研究室の皆様向けにも公開。
初めての投稿なので色々指摘していただけると幸いです。
なお、クライアント側で使用する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のサーバー立ち上げ方法については、後日時間があれば.....