1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SSH接続でようやくパスワードなしでログインできるようになった(Git Bash for Windows使用)

Last updated at Posted at 2020-09-15

さくらサーバーにWebアプリをデプロイする際に、SSH接続でログインした。
いろいろな記事を参照にして、ログインできるようになった。
ただ、最後まで解決できなかったのが、秘密鍵のパスフレーズの省略
ようやく、それが解決できたので、備忘録と、他に困っている人の助けになればと思い、記事にした。

参考記事

環境

  • Windows10
  • Git Bash for Windows

手順

秘密鍵と公開鍵の作成

$ cd 
$ ssh-keygen

パスワードを求められるので、入力して忘れないようにしておく。パスワードは適切に設定しておいたほうが、セキュリティに良い。
パスワードを省略できるように後で設定する。

さくらサーバーに公開鍵を登録する

公開鍵を送る
$ scp ~/.ssh/id_rsa.pub hoge@hoge.sakura.ne.jp:/home/sample/.ssh/authorized_keys

scpコマンドにて、公開鍵がauthorized_keysとしてさくらサーバーに送られた。

権限の変更
$ ssh hoge@hoge.sakura.ne.jp

でログインする。秘密鍵のパスワードを聞かれるので入力。
Welcome to FreeBSD!
と表示されれば、ログインできた。

ログインした状態で

% chmod 600 .ssh/authorized_keys

で権限を変更する。

.ssh/configを設定する

下記のように表記することで、設定したHost名でログインできるようになる。

~/.ssh/config
Host sakura_server
 HostName [ユーザー名].sakura.ne.jp
 User [ユーザー名]
 IdentityFile ~/.ssh/id_rsa

下記のように打ってログインできるようになった。

$ ssh sakura_server

秘密鍵のパスワードの省略設定

参考記事はこれ。
SSH キーのパスフレーズを使う

Git Bash を開いたときに、ssh-agent を自動的に実行できるようにする。

$ touch ~/.bash_profile

viやエディターに以下をコピペする。

~/.bash_profile
env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add
fi

これでGitBashを開くと、1回だけ秘密鍵のパスフレーズを求められる。

これで次回以降は、パスフレーズを聞かれることなく、ログインできるようになった。シャットダウンするまでは入力不要とのこと。

やったね!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?