Как я могу подтвердить личность удаленного SSH-хоста, к которому я пытаюсь подключиться?

Когда вы указываете rsync_options команде rsync в кавычках, вы передаете все эти параметры как один аргумент в rsync, а не как отдельные параметры. Таким образом, rsync пытался запустить ssh с флагами «-axhPv».

Время демонстрации:

function showme () {
  echo First: $1
  echo Second: $2
  echo Third: $3
}

$ showme "-e ssh -axhPv" two three
First: -e ssh -axhPv
Second: two
Third: three

$ showme -e ssh -axhPv two three
First: -e
Second: ssh
Third: -axhPv
1
27.01.2014, 09:52
2 ответа

Вы можете сделать две вещи:

  1. Прочитать файлы журнала на сервере. Какой файл журнала будет зависеть от того, как настроена ваша система; начните с поиска / var / log / secure и / var / log / messages . Если вы не можете найти там журналы sshd, проверьте конфигурацию системного журнала, где находятся сообщения authpriv .

  2. Проверьте открытый ключ SSH, возвращенный сервером. Сделайте это, выполнив команду

    ssh-keyscan hostname> hostname-lan.pub в локальной сети и

    ssh-keyscan hostname> hostname-wan.pub в WAN.

    Затем сравните два файла ( diff имя-хоста-lan.pub имя-хоста-wan.pub ). Если вы заходите на тот же сервер, разницы быть не должно. (Если вы не используете разные имена хостов; в этом случае имя хоста будет другим, но остальная часть ключа будет тем же.)

4
29.04.2021, 00:43

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

Да, sshd будет выдавать обильный лог на хосте, который выглядит так:

Jan 26 13:49:55 Argon sshd[9928]: Connection from 1.2.3.4 port 42774
Jan 26 13:49:56 Argon sshd[9928]: Found matching DSA key: ...
Jan 26 13:49:56 Argon sshd[9928]: Postponed publickey for joseph from 1.2.3.4 port 42774 ssh2 [preauth]
Jan 26 13:49:56 Argon sshd[9928]: Found matching DSA key: ...
Jan 26 13:49:56 Argon sshd[9928]: Accepted publickey for joseph from 1.2.3.4 port 42774 ssh2
Jan 26 13:49:56 Argon sshd[9928]: pam_unix(sshd:session): session opened for user joseph by (uid=0)
Jan 26 13:49:56 Argon sshd[9928]: User child is on pid 9933
Jan 26 13:50:32 Argon sshd[9933]: Received disconnect from 1.2.3.4: 11: disconnected by user
Jan 26 13:50:32 Argon sshd[9928]: pam_unix(sshd:session): session closed for user joseph

По умолчанию эти сообщения слишком низкоприоритетны, чтобы отображаться в стандартных журналах Debian. Возможно, вам придётся настроить sshd или демон syslog соответствующим образом. Если ваша машина Raspbian похожа на мою машину Debian (так и должно быть), то создайте файл /etc/rsyslog.d/everything.conf с содержимым:

*.info                       -/var/log/everything

Это заставит все сообщения журнала уровня info или выше появляться в файле /var/log/everything. В результате вы получите результат, аналогичный моему примеру выше.

0
29.04.2021, 00:43

Теги

Похожие вопросы