Giter Site home page Giter Site logo

ivdok / sftpman-gtk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from spantaleev/sftpman-gtk

0.0 2.0 0.0 133 KB

GTK frontend for SftpMan (application that handles sshfs/sftp file systems mounting).

License: GNU General Public License v3.0

Python 100.00%

sftpman-gtk's Introduction

SftpMan GTK

https://github.com/spantaleev/sftpman-gtk/raw/master/sftpman-gui.png


SftpMan consists of a Command Line and a GTK application that make it simpler to setup and mount SSHFS/SFTP file systems.

The idea was to develop a simple CLI/GUI application for Linux that can be used to manage SFTP file systems.

It relies on sshfs to do all the mounting work. SftpMan allows you to setup many remote filesystems and helps you easily mount/unmount them.

Every system managed by SftpMan is identified by an id such as my-machine, which is used in file paths and when managing the system.

Configuration data is stored in ~/.config/sftpman/ as JSON files.

All systems are mounted under /mnt/sshfs/. For the my-machine machine, that would be /mnt/sshfs/my-machine.


Installing on ArchLinux

On ArchLinux, there's an official sftpman-gtk AUR package. To install using yaourt:

yaourt -S sftpman-gtk

The package takes care of all dependencies and SftpMan should be able to start.

Optional dependencies will be suggested to you upon install.

Installing on other distributions

For other distributions you can install from PyPI using pip:

pip install sftpman-gtk

You'll need to install pygobject manually, but most probably you already have it installed. Installing pygobject from PyPI is not supported. If you don't have it installed, try to look for it in your distribution's package manager.

You also need to install sshfs yourself.

Post-installation tips

If you're authenticating using passwords or password-protected SSH keys and you want the GUI Application to prompt you for those passwords, you may need to install the openssh-askpass package (or whatever it's called) for your distribution. Some distributions have that installed by default.

GUI (GTK) Application

In order to setup an sftp system for further use (mounting/unmounting) you need to specify:

  • Hostname/IP
  • Port (defaults to 22)
  • Username to authenticate with
  • Authentication method (using passwords or public keys)
  • SSH private key (if you're authenticating using SSH keys. You will also need its corresponding public key added to the remote user's .authorized_keys file)
  • Remote mount point (the remote directory you want mounted on your system)
  • Options (options to pass to sshfs if you want something more advanced)
  • Run before mount (a command to execute before mounting)

If you're using password-based authentication or a password-protected key, you'll be asked for the password at the time of mounting.

The "Run before mount" command allows you to do whatever init stuff you want. I'm using it to initialize my ssh-agent (by adding my key there), so that I only have to type in the key password once.

CLI Application

The sftpman executable launches the CLI application. To learn more about it, see sftpman.

Installing this GTK frontend, automatically installs the CLI application for you.

Dependencies

Known limitations

  • Doesn't support mounting in a location different than /mnt/sshfs/
  • All logic runs in the GUI thread, which can make the GUI freeze for a while

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.