SSHFS
Encyclopedia
In computing
, SSHFS (SSH Filesystem) is a filesystem client to mount
and interact with directories
and files
located on a remote server
or workstation
. The client interacts with the remote file system via the SSH File Transfer Protocol
(SFTP), a network protocol providing file access, file transfer
, and file management functionality over any reliable data stream
that was designed as an extension of the Secure Shell
protocol (SSH) version 2.0.
The current implementation of SSHFS using FUSE
is a rewrite
of an earlier version. The rewrite was done by Miklos Szeredi, who also wrote FUSE.
If the remote environment matches the requirements of the local application, then the end user may work with remote files and directories as if they are on a local volume. If the remote environment is a less than perfect match — if the server cannot respond appropriately — then applications may respond in ways that are unpredictable or misleading.
Using ls with sshfs will sometimes not list the owner of a file correctly, although it is possible to map them manually.
For greater security the system can be configured by the service administrator to run inside a chroot jail or in a FreeBSD jail
, allowing the client to only see part of the file system.
For distributed remote file systems with multiple users, protocols such as Apple Filing Protocol
, Network File System and Server Message Block
are more often used. SSHFS is an alternative to those protocols only in situations where users are confident that files and directories will not be targeted for writing by another user, at the same time.
The advantage of SSHFS when compared to other network file system protocols is that, given that a user already has SSH access to a host, it does not require any additional configuration work, or the opening of additional entry ports in a firewall
.
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...
, SSHFS (SSH Filesystem) is a filesystem client to mount
Mount (computing)
Mounting takes place before a computer can use any kind of storage device . The user or their operating system must make it accessible through the computer's file system. A user can access only files on mounted media.- Mount point :A mount point is a physical location in the partition used as a...
and interact with directories
Directory (file systems)
In computing, a folder, directory, catalog, or drawer, is a virtual container originally derived from an earlier Object-oriented programming concept by the same name within a digital file system, in which groups of computer files and other folders can be kept and organized.A typical file system may...
and files
Computer file
A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished...
located on a remote server
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...
or workstation
Workstation
A workstation is a high-end microcomputer designed for technical or scientific applications. Intended primarily to be used by one person at a time, they are commonly connected to a local area network and run multi-user operating systems...
. The client interacts with the remote file system via the SSH File Transfer Protocol
SSH file transfer protocol
In computing, the SSH File Transfer Protocol is a network protocol that provides file access, file transfer, and file management functionality over any reliable data stream...
(SFTP), a network protocol providing file access, file transfer
File transfer
File transfer is a generic term for the act of transmitting files over a computer network or the Internet. There are numerous ways and protocols to transfer files over a network. Computers which provide a file transfer service are often called file servers. Depending on the client's perspective the...
, and file management functionality over any reliable data stream
Data stream
In telecommunications and computing, a data stream is a sequence of digitally encoded coherent signals used to transmit or receive information that is in the process of being transmitted....
that was designed as an extension of the Secure Shell
Secure Shell
Secure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...
protocol (SSH) version 2.0.
The current implementation of SSHFS using FUSE
Filesystem in Userspace
Filesystem in Userspace is a loadable kernel module for Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code...
is a rewrite
Rewrite (programming)
A rewrite in computer programming is the act or result of re-implementing a large portion of existing functionality without re-use of its source code. When the rewrite is not using existing code at all, it is common to speak of a rewrite from scratch...
of an earlier version. The rewrite was done by Miklos Szeredi, who also wrote FUSE.
Features
SFTP provides secure file transfer and a secure remote file system. Whilst SFTP clients may transfer files and directories, the related file system may not be mounted locally using SFTP alone. Using SSHFS, a locally-mounted file system may be treated in the same way as other volumes (such as CDs, DVDs, USB flash drives and shared disks).If the remote environment matches the requirements of the local application, then the end user may work with remote files and directories as if they are on a local volume. If the remote environment is a less than perfect match — if the server cannot respond appropriately — then applications may respond in ways that are unpredictable or misleading.
Using ls with sshfs will sometimes not list the owner of a file correctly, although it is possible to map them manually.
For greater security the system can be configured by the service administrator to run inside a chroot jail or in a FreeBSD jail
FreeBSD Jail
The FreeBSD jail mechanism is an implementation of operating system-level virtualization that allows administrators to partition a FreeBSD-based computer system into several independent mini-systems called jails....
, allowing the client to only see part of the file system.
For distributed remote file systems with multiple users, protocols such as Apple Filing Protocol
Apple Filing Protocol
The Apple Filing Protocol is a network protocol that offers file services for Mac OS X and original Mac OS. In Mac OS X, AFP is one of several file services supported including Server Message Block , Network File System , File Transfer Protocol , and WebDAV...
, Network File System and Server Message Block
Server Message Block
In computer networking, Server Message Block , also known as Common Internet File System operates as an application-layer network protocol mainly used to provide shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network. It also provides an...
are more often used. SSHFS is an alternative to those protocols only in situations where users are confident that files and directories will not be targeted for writing by another user, at the same time.
The advantage of SSHFS when compared to other network file system protocols is that, given that a user already has SSH access to a host, it does not require any additional configuration work, or the opening of additional entry ports in a firewall
Firewall (computing)
A firewall is a device or set of devices designed to permit or deny network transmissions based upon a set of rules and is frequently used to protect networks from unauthorized access while permitting legitimate communications to pass....
.
See also
- ExpanDriveExpanDriveExpanDrive is a Network file system client for Mac OS X and Microsoft Windows that facilitates mapping of local volume to any SFTP server the user can access. It also can connect to FTP servers and Amazon S3. When a server is mounted with ExpanDrive any program can read, write, and manage remote...
- Files transferred over shell protocol (FISH)
- FileZillaFileZillaFileZilla is free, open source, cross-platform FTP software, consisting of FileZilla Client and FileZilla Server. Binaries are available for Windows, Linux, and Mac OS X. It supports FTP, SFTP, and FTPS . As of 18 April 2011, FileZilla Client was the 7th most popular download of all time from...
, a Free Software utility for multiple platforms. - FTPFSFTPFSFTPFS refers to file systems that support access to a File Transfer Protocol server through standard file system application programming interfaces ....
- GvfsGVFSGVFS is the virtual filesystem for the GNOME desktop, which allows users easy access to remote data via SFTP, FTP, WebDAV, SMB, and local data via HAL integration, OBEX and others....
- SSH file transfer protocolSSH file transfer protocolIn computing, the SSH File Transfer Protocol is a network protocol that provides file access, file transfer, and file management functionality over any reliable data stream...
(SFTP) - Secure copySecure copySecure Copy or SCP is a means of securely transferring computer files between a local and a remote host or between two remote hosts. It is based on the Secure Shell protocol....
(SCP) - WebDriveWebDriveWebDrive is an FTP client developed by South River Technologies. The latest version of the software is 10.00. Webdrive integrates WebDAV, FTP, Amazon S3 or SFTP so that linked server resources function as a mapped network drive....