Как я зашел на другой сервер без моего личного ключа?

3

У меня просто был очень страшный момент, который заставил меня задуматься о безопасности моего личного ключа SSH.

Вот что произошло:

  1. Зашел на мой сервер, используя мой SSH-ключ.
  2. Дайте мой открытый ключ в .ssh/authorized_keys моему другу.
  3. Он поместил это в свой authorized_keys для новой учетной записи, которую он сделал для входа в систему.
  4. Зашел с моего сервера на свой сервер, используя мой SSH-ключ.

Теперь то, что не имеет смысла здесь, заключается в том, как мне удалось использовать мой SSH-ключ для входа на его сервер с моего сервера . У моего сервера нет моего личного ключа. Как я смог войти в систему? Может ли мой личный ключ быть где-то на моем сервере, хотя я никогда не размещал его там?

Содержимое authorized_keys на обоих серверах:

ssh-rsa AAAAB3NzaC1yc2EAAAAD[more characters]FdQCw== [email protected]

Дополнительная информация:

[email protected]:~$ ssh [email protected]
[email protected]'s password: 
Login Success. [More default login info]
[email protected]:~$

Мой сервер работает на нестандартном SSH-порту.

[email protected]:~$ ssh -p [port number] [email protected]
Login Success. [More default login info]
[email protected]:~$ ls .ssh
authorized_keys  known_hosts
[email protected]:~$ ssh -p [port number] [email protected]
[email protected]'s password:
Login Success. [More default login info]
[email protected]:~$ 

Обратите внимание, что SSHing в два раза локально не запускается автоматически.

Итак, очевидно, что мой ключ отправляется? Вот что говорит моя конфигурация:

[email protected]:~$ cd /etc/ssh/; grep -iR "forward"
sshd_config:X11Forwarding yes
ssh_config:#   ForwardAgent no
ssh_config:#   ForwardX11 no
ssh_config:#   ForwardX11Trusted yes
[email protected]:/etc/ssh$

Я вижу два разных «форварда», которые могли бы быть. Однако, похоже, он предполагает, что он не перенаправляет аутентификацию.

    
задан Robobenklein 03.05.2015 в 03:05
источник

1 ответ

1

В настольном клиенте используется агент SSH. Вы можете легко проверить, работает ли в вашем соединении агент, и если да, если он заполнен вашими ключами ssh, введя следующее в командной строке:

ssh-add -L

Другой возможностью может быть использование предопределенного файла идентификации, определенного параметром «IdentityFile» в вашем глобальном конфигурационном файле ssh / etc / ssh / ssh_config или локальном конфигурационном файле ssh ~ / .ssh / config

Способ выяснить, какой ключ он использовал, - использовать более подробный вывод ssh:

ssh -vv [email protected]
    
ответ дан Mick Switser 07.05.2015 в 11:55
источник