諸事情でGit用のユーザでサーバ機にSSH接続する必要があった。サーバにSSH接続をできるようにセットアップする方法をメモとして残しておく。
SSH接続を行うにはサーバー側とローカル側の2箇所を設定する必要がある。
公開鍵と秘密鍵を作成する
まず、ローカルでssh-keygen
コマンドにて公開鍵と秘密鍵を生成する。生成する際にパスフレーズの入力を求められるので適切に入力する。
$ssh-keygen -t rsa #RSA方式の鍵を作成する
生成した公開鍵の名前を変更する
以下のコマンドで公開鍵の名前の変更を行う。
$mv ~/id_rsa.pub ~/authorized_keys
公開鍵をサーバー側に渡す
何らかの方法でサーバー側の以下のディレクトリに公開鍵を移動する。ディレクトリが存在しなければ、作成する。
~/.ssh/
パーミッションを適切に設定する
~/.ssh
と~/.ssh/authorized_key
のパーミッションを適切に設定しないと接続を行うことが出来ないので以下のように設定する。
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
秘密鍵をWinSCP(Putty)で読み込めるように変換する
SSH接続にはWinSCPとPuttyを用いる。取得した秘密鍵をputtygen.exeにてPuttyが読み込めるファイル形式に変換する。
メニューのFile->Load private keyを選択し、秘密鍵を指定する。パスフレーズの入力を求められるので、先ほど鍵を生成する際に利用したパスフレーズを入力する。Save private keyを選択し、変換した鍵をローカルに保存する。
WinSCPからSSH接続を行う
WinSCPを起動し、メニューの新規から必要な情報を入力し、設定を保存する。メニューのログインから接続を行うことができる。
参考
ぱせら氏からのアドバイス
Linuxでsshの鍵を作成するには
EC2にSSH接続用のユーザーを作成する – Qiita [キータ]