ArtiVC
GitHub Blogs Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage
Edit page

Remote Filesystem (SSH)

Use remote filesystem through SSH as the repository backend.

Features

  • Use the original ~/.ssh/config without pain
  • Support password authentication
  • Support public key authentication
  • Support SSH agent
  • Support SSH proxy by ProxyCommand or ProxyJump
  • Support host key checking through ~/.ssh/known_hosts
  • Concurrent uploading and downloading

Configuration

To use SSH backend, you have to configure ~/.ssh/config.

  1. Configure the ~/.ssh/config

    Host myserver
        HostName myserver.hosts
        User myname
        IdentityFile ~/.ssh/id_ed25519
    
  2. Check if you can access the SSH server successfully

    ssh myserver
    

For more information, please see ssh config manual

Usage

Init a workspace

avc init myserver:path/to/mydataset

Clone a repository

avc clone myserver:path/to/mydataset
cd mydataset/

SSH Proxy

There are two ways to connect to the destination server through bastion (proxy) server.

ProxyCommand

  1. Configure ~/.ssh/config
    host bastion
        hostname mybastion.hosts
        user myname
        identityfile ~/id_ed25519
    
    host myserver
        hostname myserver.hosts
        user myname
        identityfile ~/id_ed25519
        ProxyCommand ssh bastion -W %h:%p
    
  2. Init the workspace
    avc init myserver:path/to/mydataset
    

ProxyJump

  1. Configure ~/.ssh/config

    host bastion
        hostname mybastion.hosts
        user myname
        identityfile ~/id_ed25519
    
    host myserver
        hostname myserver.hosts
        user myname
        identityfile ~/id_ed25519
        ProxyJump bastion
    
  2. Init the workspace

    avc init myserver:path/to/mydataset
    

Environment Variables

Name Description Default value
SSH_USER The login user The current user.
SSH_PASSWORD The passowrd to be used for password authentication
SSH_PORT The port of the ssh server 22
SSH_IDENTITY_FILE The identity file to be used for pubkey authentication
SSH_KEY_PASSPHRASE The passphrase of the identity key
SSH_STRICT_HOST_KEY_CHECKING Set the value to no to disable the key checking

Supported Directives for SSH config