Provide more guidance when "remote: minarca@serveras: Permission denied (password)." is raised during initial Minarca connection
Need to provide a more meaning fule error message when the initial backup fail with "remote: minarca@serveras: Permission denied (password)."
.
Usually, this mean the SSH server is miss configure and doesn't accept our password less authentication. We should probably add a reference in the documentation regarding the step to take to verify if it's working.
During initial connection, rdiff-backup may print something similar to:
2021-09-22 17:13:00,412 [16990][DEBUG][Thread-11 ] Starting new HTTP connection (1): serveras:8080
2021-09-22 17:13:00,421 [16990][DEBUG][Thread-11 ] http://serveras:8080 "GET / HTTP/1.1" 200 1219
2021-09-22 17:13:00,428 [16990][DEBUG][Thread-11 ] http://serveras:8080 "GET /api/currentuser/ HTTP/1.1" 200 44
2021-09-22 17:13:00,429 [16990][DEBUG][Thread-11 ] exchanging identity with minarca server
2021-09-22 17:13:00,435 [16990][DEBUG][Thread-11 ] http://serveras:8080 "POST /prefs/sshkeys/ HTTP/1.1" 200 3012
2021-09-22 17:13:00,440 [16990][DEBUG][Thread-11 ] http://serveras:8080 "GET /api/minarca/ HTTP/1.1" 200 929
2021-09-22 17:13:00,443 [16990][DEBUG][Thread-11 ] executing command: -v 4 --remote-schema "/usr/bin/ssh -oBatchMode=yes -oPreferredAuthentications=publickey -oUserKnownHostsFile='/home/as/.config/minarca/known_hosts' -oIdentitiesOnly=yes -i '/home/as/.config/minarca/id_rsa' %s 'minarca/4.0.0 rdiff-backup/2.0.5 (Linux 5.10.0-8-amd64 x86_64)'" --test-server minarca@serveras::pc04
2021-09-22 17:13:00,443 [16990][DEBUG][Thread-11 ] local:Using rdiff-backup version 2.0.5
2021-09-22 17:13:00,443 [16990][DEBUG][Thread-11 ] local: with cpython /opt/minarca/bin/python version 3.9.2
2021-09-22 17:13:00,443 [16990][DEBUG][Thread-11 ] local: on Linux-5.10.0-8-amd64-x86_64-with-glibc2.31, fs encoding utf-8
2021-09-22 17:13:00,443 [16990][DEBUG][Thread-11 ] local:Executing /usr/bin/ssh -oBatchMode=yes -oPreferredAuthentications=publickey -oUserKnownHostsFile='/home/as/.config/minarca/known_hosts' -oIdentitiesOnly=yes -i '/home/as/.config/minarca/id_rsa' minarca@serveras 'minarca/4.0.0 rdiff-backup/2.0.5 (Linux 5.10.0-8-amd64 x86_64)'
2021-09-22 17:13:00,478 [16990][DEBUG][Thread-12 ] remote: Warning: Permanently added the ECDSA host key for IP address '2001:16b8:2278:4f00:3812:6570:8cff:d121' to the list of known hosts.
2021-09-22 17:13:00,489 [16990][DEBUG][Thread-12 ] remote: minarca@serveras: Permission denied (password).
2021-09-22 17:13:00,490 [16990][DEBUG][Thread-11 ] local:Fatal Error: Truncated header string (problem probably originated remotely)
2021-09-22 17:13:00,490 [16990][DEBUG][Thread-11 ] local:
2021-09-22 17:13:00,491 [16990][DEBUG][Thread-11 ] local:Couldn't start up the remote connection by executing
2021-09-22 17:13:00,491 [16990][DEBUG][Thread-11 ] local:
2021-09-22 17:13:00,491 [16990][DEBUG][Thread-11 ] local: /usr/bin/ssh -oBatchMode=yes -oPreferredAuthentications=publickey -oUserKnownHostsFile='/home/as/.config/minarca/known_hosts' -oIdentitiesOnly=yes -i '/home/as/.config/minarca/id_rsa' minarca@serveras 'minarca/4.0.0 rdiff-backup/2.0.5 (Linux 5.10.0-8-amd64 x86_64)'
2021-09-22 17:13:00,491 [16990][DEBUG][Thread-11 ] local:
2021-09-22 17:13:00,491 [16990][DEBUG][Thread-11 ] local:Remember that, under the default settings, rdiff-backup must be
2021-09-22 17:13:00,492 [16990][DEBUG][Thread-11 ] local:installed in the PATH on the remote system. See the man page for more
2021-09-22 17:13:00,492 [16990][DEBUG][Thread-11 ] local:information on this. This message may also be displayed if the remote
2021-09-22 17:13:00,492 [16990][DEBUG][Thread-11 ] local:version of rdiff-backup is quite different from the local version (2.0.5).
2021-09-22 17:13:00,492 [16990][ERROR][Thread-11 ] rdiff-backup exit with non-zero code
2021-09-22 17:13:00,493 [16990][ERROR][Thread-11 ] fail to connect
Traceback (most recent call last):
File "/opt/minarca/lib/python3.9/site-packages/rdiff_backup/SetConnections.py", line 193, in check_connection_version
remote_version = conn.Globals.get('version')
File "/opt/minarca/lib/python3.9/site-packages/rdiff_backup/connection.py", line 526, in __call__
return self.connection.reval(*(self.name, ) + args)
File "/opt/minarca/lib/python3.9/site-packages/rdiff_backup/connection.py", line 436, in reval
result = self.get_response(req_num)
File "/opt/minarca/lib/python3.9/site-packages/rdiff_backup/connection.py", line 379, in get_response
req_num, object = self._get()
File "/opt/minarca/lib/python3.9/site-packages/rdiff_backup/connection.py", line 284, in _get
raise ConnectionReadError("Truncated header string (problem "
rdiff_backup.connection.ConnectionReadError: Truncated header string (problem probably originated remotely)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/minarca/lib/python3.9/site-packages/minarca_client/core/__init__.py", line 440, in _rdiff_backup
rdiff_backup.Main.Main(args)
File "/opt/minarca/lib/python3.9/site-packages/rdiff_backup/Main.py", line 414, in Main
rps = list(map(SetConnections.cmdpair2rp, cmdpairs))
File "/opt/minarca/lib/python3.9/site-packages/rdiff_backup/SetConnections.py", line 86, in cmdpair2rp
conn = init_connection(cmd)
File "/opt/minarca/lib/python3.9/site-packages/rdiff_backup/SetConnections.py", line 183, in init_connection
check_connection_version(conn, remote_cmd)
File "/opt/minarca/lib/python3.9/site-packages/rdiff_backup/SetConnections.py", line 195, in check_connection_version
Log.FatalError("""%s
File "/opt/minarca/lib/python3.9/site-packages/rdiff_backup/log.py", line 206, in FatalError
sys.exit(errlevel)
SystemExit: 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/minarca/lib/python3.9/site-packages/minarca_client/ui/connect.py", line 96, in _link
backup.link(
File "/opt/minarca/lib/python3.9/site-packages/minarca_client/core/__init__.py", line 363, in link
self.test_server()
File "/opt/minarca/lib/python3.9/site-packages/minarca_client/core/__init__.py", line 504, in test_server
self._rdiff_backup(['--test-server'])
File "/opt/minarca/lib/python3.9/site-packages/minarca_client/core/__init__.py", line 443, in _rdiff_backup
raise RdiffBackupError(e)
minarca_client.core.exceptions.RdiffBackupError: backup process returned non-zero exit status 1, check logs for more details
best regards
Edited by Patrik Dufresne