

この状態でSSHにどうしてログインできるのか不気味に思っています  
まず、

[code]

    $ ssh-add -K .ssh/id_rsa
    
[/code]

を実行してSSH接続用のキーを登録しました  
これにより無事にSSHサーバに接続はできました  
しかし、PC・Macを再起動後ssh-add -Lを実行すると

[code]

    takayamanorikonoiMac:~ takayamanoriko$ ssh-add -L
    The agent has no identities.
    
[/code]

何も登録されていない状態になっていました  
それにもかかわらず、sshコマンドでは依然として接続できました  
(なお、SSHの接続先はBitbucketなので、サーバ側の設定ミスはまずないと思います)

そこで教えていただきたいのですが、なぜログインできるのだと思いますか？  
また、The agent has no identities.の結果でもキーは登録されたままなのですか？  
その他、調べた方が良さそうな点、勘違いしていそうなことがあれば教えていただけると助かります

よろしくお願いします


CC BY-SA 4.0
2019-05-06T10:04:44.023
54775
2019-05-06T15:06:13.420
2019-05-06T10:41:02.433
3060
30865
question
ssh openssh
ssh-add -lの結果がThe agent has no identities.なのにSSHでログインできるのはなぜ？


  * [OpenSSH-7.3p1 日本語マニュアルページ](https://euske.github.io/openssh-jman/ssh.html)

> -i identityファイル  
>  公開鍵認証の際にidentity (秘密鍵) を読むファイルを指定します。デフォルトは、プロトコル 1
> の場合ユーザのホームディレクトリにある~/.ssh/identity、 **プロトコル 2 の場合は~/.ssh/id_dsa
> ,~/.ssh/id_ecdsa ,~/.ssh/id_ed25519および~/.ssh/id_rsaになっています。** identity
> ファイルは設定ファイルによって、ホストごとに指定することもできます。複数の-i
> オプションを指定することも可能です。(設定ファイルで複数の鍵を指定することもできます。)証明書がCertificateFile設定項目で明示的に指定されていない場合、ssh
> は末尾に-cert.pubのついたファイル名からも証明書を読み込もうとします。

要は、`$HOME/.ssh/id_rsa` ファイルはデフォルトで使用する秘密鍵なので、特に指定しなくても(`ssh-
add`で追加しなくても)使用されます。


CC BY-SA 4.0
2019-05-06T15:06:13.420
54783
2019-05-06T15:06:13.420
15473
54775
answer