Power User Tools

From PHYSpedia
Revision as of 19:56, 3 May 2017 by Cclark (talk | contribs) (Reverse SSH)

Jump to: navigation, search

Managing configs with vcsh

vcsh [1] is a utility that allows you to create multiple git repositories to store configuration files in your home directory. It solves the problem of having to use symlinks, and is a very nice tool. It works well with another tool named mr [2] that allows you to synchronize all of your config repos with a single command.

Common Tasks

Adding new repo

Let say you want to add a repo for tracking your zsh configuration. First, create a gitignore file for the repo so you can just do git add .

 > vim ~/.gitignore.d/zsh
 ...

Add the following lines

 /*
 !/.zsh


Now create the repository and push to a remote

 > vcsh init zsh    # create the repo
 > vcsh zsh add .   # add all files not masked by ~/.gitignore.d/zsh
 > vcsh zsh commit  # commit files
 > vcsh zsh remote add origin ssh://user@host/repo/with/write/access  # create remote repo
 > vcsh zsh push --set-upstream origin master # push to the origin and setup tracking

Reverse SSH

The ssh command has a -R option that can be used to allow ssh access to a computer that does not have a public, static IP address (such as a computer behind a NAT at home) using another computer that does have a public IP Address.

Assume you have two computers, Public and Private. Public has a public, static IP address, and you have ssh access to it. Private is a computer that sits behind your home router, and cannot be accessed from the outside. On Private, run the following command: