今までCORESERVERにはTeraTermを使ってユーザ名とパスフレーズを指定してログインしていました。
今回はコマンドプロンプトからなるべく簡単にログインできるように設定をしてみました。
以下はその時のメモです。
ローカル環境: Windows 10
リモート環境: CORESERVER (Ubunt 4.4.0-128)
1. ssh-keygen
ssh-keygenコマンドでpublic key とprivate key をローカル環境で作成する。
指定は全てデフォルトで実行。
終了するとC:Users\xxx\.ssh フォルダにid_rsa と id_rsa.pubが作成される。
id_rsaがprivate key でid_rsa.pub がpublic key 。
2. public keyをサーバーにuploadする.
Tera Term の ssh scpでアップロード
ユーザフォルダ直下に.sshフォルダ(.付き)を作成し名前を「authorized_keys」に変更。
パーミッションは700とする。
3. ローカルからログインを確認
Tera Termを使ってログインできるか確認。できればローカル設定へ。
4. ローカルの設定
ローカル環境のユーザフォルダ c:\Users\xxx に .sshフォルダ(.付き)を作成。configファイルを作成し以下定義を追加
id_rsaは判別しやすいようにcoreserver_rsaに変更
# Host coreserver-xxx HostName xNN.coreserver.jp Port 22 User xxx IdentityFile C:\Users\xxx\.ssh\coreserver_rsa
(追記 2018.08.18)
当初、接続サーバー毎にキーファイルを作成していたためid_rsaファイルを改名して区別する必要があると考えたのですが、改名せずそのまま使用すればsshが自動的に取得してくれました。
改名しない場合、IdentityFileの指定は不要になります。
通常ローカル端末毎にprivate keyとpublic keyのpairを1つ作成しpublic keyを接続したいサーバーに転送しauthorized_keysに改名、または追加するという運用がセオリーなのだと気づきました。
5. コマンドプロンプトからログイン
ssh coreserver-xxx でログイン確認。
CORESERVERはSSH接続には端末登録が必要なので期限が切れている場合は再登録が必要。