Hi, my main NAS runs Debian Buster, I recently came into possession of a N40L microserver and decided to use this as a backup destination using zfs replication. I chose FreeNAS mainly to run it from a usb stick.
I've followed the documentation to setup the SSH Keypair and SSH Connection, copying the public key over to my debian box. When I go to setup the replication task with the debian box as the source location and click on the folder to choose the source I get an error
ExecException
sh: 1: zfs: not found
I suspect this may be to do with the ssh connection, if I go to the shell and ssh to the debian box using my user name I am still asked for a password. I believe I have the public key setup correctly as I've set this up correctly to ssh to the debian box from my workstation but I could have some detail wrong.
Is the freenas shell a valid way to test if the ssh connection is setup correctly or does the error message above indicate the issue is elsewhere?
I've followed the documentation to setup the SSH Keypair and SSH Connection, copying the public key over to my debian box. When I go to setup the replication task with the debian box as the source location and click on the folder to choose the source I get an error
ExecException
sh: 1: zfs: not found
Code:
Error: Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 130, in call_method io_thread=False) File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1084, in _call return await methodobj(*args) File "/usr/local/lib/python3.7/site-packages/middlewared/schema.py", line 961, in nf return await f(*args, **kwargs) File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/replication.py", line 702, in list_datasets return await self.middleware.call("zettarepl.list_datasets", transport, ssh_credentials) File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1141, in call app=app, pipes=pipes, job_on_progress_cb=job_on_progress_cb, io_thread=True, File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1084, in _call return await methodobj(*args) File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/zettarepl.py", line 426, in list_datasets datasets = await self.middleware.run_in_thread(list_datasets, shell) File "/usr/local/lib/python3.7/site-packages/middlewared/utils/run_in_thread.py", line 10, in run_in_thread return await self.loop.run_in_executor(self.run_in_thread_executor, functools.partial(method, *args, **kwargs)) File "/usr/local/lib/python3.7/site-packages/middlewared/utils/io_thread_pool_executor.py", line 25, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.7/site-packages/zettarepl/dataset/list.py", line 12, in list_datasets return [dataset["name"] for dataset in list_datasets_with_properties(shell, dataset, recursive)] File "/usr/local/lib/python3.7/site-packages/zettarepl/dataset/list.py", line 28, in list_datasets_with_properties return [dict(zip(properties, line.split("\t"))) for line in filter(None, shell.exec(args).split("\n"))] File "/usr/local/lib/python3.7/site-packages/zettarepl/transport/interface.py", line 83, in exec return self.exec_async(args, encoding, stdout).wait() File "/usr/local/lib/python3.7/site-packages/zettarepl/transport/base_ssh.py", line 40, in wait raise ExecException(exitcode, stdout) zettarepl.transport.interface.ExecException: sh: 1: zfs: not found
I suspect this may be to do with the ssh connection, if I go to the shell and ssh to the debian box using my user name I am still asked for a password. I believe I have the public key setup correctly as I've set this up correctly to ssh to the debian box from my workstation but I could have some detail wrong.
Is the freenas shell a valid way to test if the ssh connection is setup correctly or does the error message above indicate the issue is elsewhere?