MOUNT_PSSHFS(8)

MOUNT_PSSHFS(8) | System Manager's Manual | MOUNT_PSSHFS(8)

# NAME

`mount_psshfs` —
sshfs implementation for puffs

# SYNOPSIS

`mount_psshfs` | [options] user@host[:path] mount_point

# DESCRIPTION

The `mount_psshfs` utility can be used to mount a file system using the ssh sftp subprotocol, making a remote directory hierarchy appear in the local directory tree. This functionality is commonly known as sshfs.

The mandatory parameters are the target host name and local mount point. The target host parameter can optionally contain a username whose credentials will be used by the remote sshd, and a relative or absolute path for the remote mount point's root. If no user is given, the credentials of the user issuing the mount command are used. If no path is given, the user's home directory on the remote machine will be used.

The following command line options are available:

`-c` nconnect
  Opens nconnect connections to the server. Currently, the value has to be 1 or 2. If 2 is specified, a second connection is opened for the reading and writing of data, while directory operations are performed on their own connection. This can greatly increase directory operation performance (ls, mkdir, etc.) if `mount_psshfs` completely saturates the available bandwidth by doing bulk data copying. The default is 1.
`-e`
  Makes the mounted file system NFS exportable. If this option is used, it is very important to understand that `mount_psshfs` can not provide complete support for NFS due to the limitations in the backend. Files are valid only for the time that `mount_psshfs` is running and in the event of e.g. a server crash, all client retries to access files will fail.
`-F` configfile
  Pass a configuration file to ssh(1). This will make it ignore the system-wide /etc/ssh/ssh_config configuration file and use configfile instead of ~/.ssh/config.
`-g` manglegid
  Converts remote manglegid to the effective gid of the file server and vice versa. See `-u`.
`-o` [no]option
  This flag can be used to give standard mount options and options to puffs.
`-O` sshopt=value
  Pass an option to ssh(1), for example `-O` Port=22. For a list of valid options, see ssh_config(5).
`-p`
  Preserve connection. This option makes `mount_psshfs` to try to reconnect to the server if the connection fails. The option is very experimental and does not preserve open files or retry current requests and should generally only be used if the trade-offs are well understood.
`-r` max_reads
  Limits maximum outstanding read requests for each node to max_reads. This can be used to improve interactive performance on low-bandwidth links when also performing bulk data reads.
`-s`
  This flag can be used to make the program stay on top. The default is to detach from the terminal and run in the background.
`-t` timeout
  By default `mount_psshfs` caches directory contents and node attributes for 30 seconds before re-fetching from the server to check if anything has changed on the server. This option is used to adjust the timeout period to timeout seconds. A value of 0 means the cache is never valid; -1 means it is valid indefinitely. It is possible to force a re-read regardless of timeout status by sending `SIGHUP` to the `mount_psshfs` process.

  Note: the file system will still free nodes when requested by the kernel and will lose all cached information in doing so. How frequently this happens depends on system activity and the total number of available vnodes in the system (kern.maxvnodes).

`-u` mangleuid
  Converts remote mangleuid to the effective uid of the file server and vice versa. This is a simple special case of the functionality of mount_umap(8). For example: you mount remote me@darkmoon as the local user "me". If the uid of "me" on the local system is 101 and on darkmoon it is 202, you would use `-u` 202 to see files owned by 202 on darkmoon as owned by 101 when browsing the mount point. Apart from the cosmetic effect, this makes things like "chown me file" work. See `-g`.

# EXAMPLES

The following example illustrates how to mount the directory /usr on server bigiron as user abc on local directory /mnt with ssh transport compression enabled:

    mount_psshfs -O Compression=yes abc@bigiron:/usr /mnt

It is possible to use fstab(5) for psshfs mounts, with SSH public key authentication:

`abc@bigiron:/usr /mnt psshfs rw,noauto,-O=BatchMode=yes,-O=IdentityFile=/root/.ssh/id_rsa,-t=-1`

# SEE ALSO

sftp(1), puffs(3), puffs(4), fstab(5), ssh_config(5), mount(8), sshd(8)

# HISTORY

The `mount_psshfs` utility first appeared in NetBSD 5.0. It was inspired by FUSE sshfs.

# CAVEATS

Permissions are not handled. Do not expect the file system to behave except for a single user.

Depending on if the server supports the sftp(1) statvfs protocol extension, free disk space may be displayed for the mount by df(1). This information reflects the status at the server's mountpoint and may differ for subdirectories under the mount root.

January 7, 2010 | NetBSD 10.1