Когда вы указываете 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
Вы можете сделать две вещи:
Прочитать файлы журнала на сервере. Какой файл журнала будет зависеть от того, как настроена ваша система; начните с поиска / var / log / secure
и / var / log / messages
. Если вы не можете найти там журналы sshd, проверьте конфигурацию системного журнала, где находятся сообщения authpriv
.
Проверьте открытый ключ SSH, возвращенный сервером. Сделайте это, выполнив команду
ssh-keyscan hostname> hostname-lan.pub
в локальной сети и
ssh-keyscan hostname> hostname-wan.pub
в WAN.
Затем сравните два файла ( diff имя-хоста-lan.pub имя-хоста-wan.pub
). Если вы заходите на тот же сервер, разницы быть не должно. (Если вы не используете разные имена хостов; в этом случае имя хоста будет другим, но остальная часть ключа будет тем же.)
Может быть, есть способ отслеживать каждый запрос 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
. В результате вы получите результат, аналогичный моему примеру выше.