Skip to content

SSH provider: Cannot browse non-Linux hosts (FreeBSD, macOS, etc); invalid stat command flags #209

@s-daveb

Description

@s-daveb

Good morning,

I love what you're trying to do, and I'm noticing that there is some partial support for non-Linux hosts... when I try to connect with :Neotree remote to the FreeBSD Hosts on my .ssh/config, I see a small FreeBSD Icon appear next to the host name, and nothing else happens.

I've already got passwordless login using public-private key encryption and it works from any standard terminal using SSH or MOSH.

However, no files appear in the Neotree file panel, as opposed to a Linux system:
Screenshot 2024-12-02 at 8 40 25 AM

When I check :NMlogs, I find the following, with an error message regarding the 'stat' command:
Received non-0 exit code while trying to stat ssh://moho/// { error = "stat: illegal option -- cusage: stat [-FLnq] [-f format | -l | -r | -s | -x] [-t timefmt] [file|handle ...]",

see the full log below:

[2024-12-02 08:37:58] [SID: eknqhzxmwseklup] [Logger: system] [Level: TRACE]     -- ...id/.local/share/nvim/lazy/netman.nvim/lua/netman/api.lua:asp:628	Performing ASP (prove) check on `ssh.read_a` -> Was a proper async handle returned? false
[2024-12-02 08:37:58] [SID: eknqhzxmwseklup] [Logger: system] [Level: WARN]      -- ...id/.local/share/nvim/lazy/netman.nvim/lua/netman/api.lua:asp:630	Provider ssh did not return a proper async handle after async request. Removing read_a from it for the remainder of this session
[2024-12-02 08:37:58] [SID: eknqhzxmwseklup] [Logger: system] [Level: TRACE2]   -- ...id/.local/share/nvim/lazy/netman.nvim/lua/netman/api.lua:asp:657	Passing result data to callback ...share/nvim/lazy/netman.nvim/lua/netman/providers/ssh.lua:2025: attempt to index local 'stat' (a nil value)
[2024-12-02 08:37:58] [SID: eknqhzxmwseklup] [Logger: system] [Level: INFO]      -- ...id/.local/share/nvim/lazy/netman.nvim/lua/netman/api.lua:_process_provider_response:676	Provider `ssh` failed to include success in response. Adding 'success=false' to response

[2024-12-02 08:38:03] [SID: eknqhzxmwseklup] [Logger: system] [Level: DEBUG]    -- ...local/share/nvim/lazy/netman.nvim/lua/netman/ui/init.lua:nil:25	Comparing  to old state 
[2024-12-02 08:38:03] [SID: eknqhzxmwseklup] [Logger: system] [Level: DEBUG]    -- ...local/share/nvim/lazy/netman.nvim/lua/netman/ui/init.lua:nil:25	Comparing  to old state 
[2024-12-02 08:38:18] [SID: eknqhzxmwseklup] [Logger: system] [Level: DEBUG]    -- ...local/share/nvim/lazy/netman.nvim/lua/netman/ui/init.lua:nil:25	Comparing  to old state 
[2024-12-02 08:38:18] [SID: eknqhzxmwseklup] [Logger: system] [Level: DEBUG]    -- ...local/share/nvim/lazy/netman.nvim/lua/netman/ui/init.lua:nil:25	Comparing  to old state 
[2024-12-02 08:38:30] [SID: eknqhzxmwseklup] [Logger: provider] [Level: TRACE]    -- ...share/nvim/lazy/netman.nvim/lua/netman/providers/ssh.lua:__index:238	Checking OS For Host moho
[2024-12-02 08:38:31] [SID: eknqhzxmwseklup] [Logger: provider] [Level: TRACE2]   -- ...share/nvim/lazy/netman.nvim/lua/netman/providers/ssh.lua:run_command:398	{
  cmd_pieces = { "ssh", "-o", "ControlMaster=auto", "-o", 'ControlPath="/Users/sdavid/.cache/nvim/netman/tmp//%C"', "-o", "ControlPersist=10", "moho", "/bin/sh -c 'cat /etc/*release* | grep -E \"^NAME=\" | cut -b 6-'" },
  command = "ssh -o ControlMaster=auto -o ControlPath=\"/Users/sdavid/.cache/nvim/netman/tmp//%C\" -o ControlPersist=10 moho /bin/sh -c 'cat /etc/*release* | grep -E \"^NAME=\" | cut -b 6-'",
  elapsed_time = 548358750,
  elapsed_time_ml = 548.35875,
  exit_code = 0,
  opts = {
    STDERR_JOIN = "",
    STDOUT_JOIN = ""
  },
  pid = 33317,
  signal = 0,
  stderr = "",
  stdout = "FreeBSD"
}
[2024-12-02 08:38:31] [SID: eknqhzxmwseklup] [Logger: consumer] [Level: TRACE]     -- ...re/nvim/lazy/netman.nvim/lua/netman/ui/neo-tree/init.lua:open_uri:416	Opening Node: ssh://moho///
[2024-12-02 08:38:31] [SID: eknqhzxmwseklup] [Logger: system] [Level: INFO]     -- ...id/.local/share/nvim/lazy/netman.nvim/lua/netman/api.lua:read:857	Reaching out to ssh to read ssh://moho///
[2024-12-02 08:38:31] [SID: eknqhzxmwseklup] [Logger: system] [Level: TRACE]     -- ...id/.local/share/nvim/lazy/netman.nvim/lua/netman/api.lua:asp:609	Performing ASP (ask) check on ssh -> Was async requested? true
[2024-12-02 08:38:31] [SID: eknqhzxmwseklup] [Logger: system] [Level: TRACE]     -- ...id/.local/share/nvim/lazy/netman.nvim/lua/netman/api.lua:asp:613	Performing ASP (say) check on ssh -> Is `connect_host_a` available? false
[2024-12-02 08:38:31] [SID: eknqhzxmwseklup] [Logger: system] [Level: TRACE]     -- ...id/.local/share/nvim/lazy/netman.nvim/lua/netman/api.lua:asp:616	Attempting to run `ssh.connect_host` synchronously
[2024-12-02 08:38:31] [SID: eknqhzxmwseklup] [Logger: provider] [Level: TRACE2]   -- ...share/nvim/lazy/netman.nvim/lua/netman/providers/ssh.lua:run_command:398	{
  cmd_pieces = { "ssh", "-o", "ControlMaster=auto", "-o", 'ControlPath="/Users/sdavid/.cache/nvim/netman/tmp//%C"', "-o", "ControlPersist=10", "moho", "stat -L -c MODE=%f,BLOCKS=%b,BLKSIZE=%B,MTIME_SEC=%X,USER=%U,GROUP=%G,INODE=%i,PERMISSIONS=%a,SIZE=%s,TYPE=%F,NAME=%n /" },
  command = 'ssh -o ControlMaster=auto -o ControlPath="/Users/sdavid/.cache/nvim/netman/tmp//%C" -o ControlPersist=10 moho stat -L -c MODE=%f,BLOCKS=%b,BLKSIZE=%B,MTIME_SEC=%X,USER=%U,GROUP=%G,INODE=%i,PERMISSIONS=%a,SIZE=%s,TYPE=%F,NAME=%n /',
  elapsed_time = 0,
  elapsed_time_ml = 0,
  opts = {
    ASYNC = true,
    EXIT_CALLBACK = <function 1>,
    STDERR_JOIN = ""
  },
  pid = 33334,
  stderr = {},
  stdout = {}
}
[2024-12-02 08:38:31] [SID: eknqhzxmwseklup] [Logger: provider] [Level: TRACE]    -- ...share/nvim/lazy/netman.nvim/lua/netman/providers/ssh.lua:callback:1353	{
  cmd_pieces = { "ssh", "-o", "ControlMaster=auto", "-o", 'ControlPath="/Users/sdavid/.cache/nvim/netman/tmp//%C"', "-o", "ControlPersist=10", "moho", "stat -L -c MODE=%f,BLOCKS=%b,BLKSIZE=%B,MTIME_SEC=%X,USER=%U,GROUP=%G,INODE=%i,PERMISSIONS=%a,SIZE=%s,TYPE=%F,NAME=%n /" },
  command = 'ssh -o ControlMaster=auto -o ControlPath="/Users/sdavid/.cache/nvim/netman/tmp//%C" -o ControlPersist=10 moho stat -L -c MODE=%f,BLOCKS=%b,BLKSIZE=%B,MTIME_SEC=%X,USER=%U,GROUP=%G,INODE=%i,PERMISSIONS=%a,SIZE=%s,TYPE=%F,NAME=%n /',
  elapsed_time = 50105250,
  elapsed_time_ml = 50.10525,
  exit_code = 1,
  opts = {
    ASYNC = true,
    EXIT_CALLBACK = <function 1>,
    STDERR_JOIN = ""
  },
  pid = 33334,
  signal = 0,
  stderr = "stat: illegal option -- cusage: stat [-FLnq] [-f format | -l | -r | -s | -x] [-t timefmt] [file|handle ...]",
  stdout = {}
}
[2024-12-02 08:38:31] [SID: eknqhzxmwseklup] [Logger: provider] [Level: WARN]     -- ...share/nvim/lazy/netman.nvim/lua/netman/providers/ssh.lua:callback:1373	Received non-0 exit code while trying to stat ssh://moho/// {
  error = "stat: illegal option -- cusage: stat [-FLnq] [-f format | -l | -r | -s | -x] [-t timefmt] [file|handle ...]",
  exit_code = 1,
  locations = { "/" },
  stdout = {}
}
[2024-12-02 08:38:31] [SID: eknqhzxmwseklup] [Logger: system] [Level: TRACE2]   -- ...id/.local/share/nvim/lazy/netman.nvim/lua/netman/api.lua:asp:657	Passing result data to callback {
  message = {
    message = "Received non-0 exit code while trying to stat ssh://moho///"
  },
  success = false
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    ProviderIssue with a _remote_ (core) providerSSHSSH Providerenhancement/requestNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions