Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
|Travis| |PyPI version| |PyPI downloads| |License| |Requires.io| |Gitter|
|ASSH logo - Advanced SSH Config logo|
Enhances ssh_config
file capabilities
NOTE: This program is called by
ProxyCommand <http://en.wikibooks.org/wiki/OpenSSH/Cookbook/Proxies_and_Jump_Hosts#ProxyCommand_with_Netcat>
__
from lib-ssh <https://www.libssh.org>
__.
It works transparently with :
lib-ssh
(for instance
Tower <http://www.git-tower.com>
, Atom.io <https://atom.io>
,
SSH Tunnel Manager <http://projects.tynsoe.org/fr/stm/>
__)The .ssh/config
file is automatically generated, you need to update
.ssh/config.advanced
file instead; With new features and a better
regex engine for the hostnames.
.. code:: console
$ assh --help
Usage: assh [OPTIONS] COMMAND [arg...]
Commands:
build Build .ssh/config based on .ssh/config.advanced
connect <host> Open a connection to <host>
info <host> Print connection informations
init Build a .ssh/config.advanced file based on .ssh/config
generate-etc-hosts Print a /etc/hosts file of .ssh/config.advanced
stats Print statistics
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-p PORT, --port=PORT SSH port
-c CONFIG_FILE, --config=CONFIG_FILE
ssh_config file
-f, --force
-v, --verbose
-l LOG_LEVEL, --log_level=LOG_LEVEL
--dry-run
Gateway chaining
.. code:: bash
ssh foo.com/bar.com
Connect to bar.com
using ssh and create a proxy on bar.com
to
foo.com
. Then connect to foo.com
using the created proxy on
bar.com
.
.. code:: bash
ssh foo.com/bar.com/baz.com
Connect to foo.com
using bar.com/baz.com
which itself uses
baz.com
.
gw.school-.*.domain.net
gate
-> gate.domain.tld
inherits = gate.domain.tld
User = $USER
(take $USER from
environment)netcat
, socat
or custom
handler~/.ssh/config.advanced
.. code:: ini
# Simple example
[foo.com]
user = pacman
port = 2222
[bar]
hostname = 1.2.3.4
gateways = foo.com # `ssh bar` will use `foo.com` as gateway
[^vm-[0-9]*\.joe\.com$]
gateways = bar # `ssh vm-42.joe.com will use `bar` as gateway which
# itself will use `foo.com` as gateway
[default]
ProxyCommand = assh --port=%p connect %h
.. code:: ini
# Complete example
[foo]
user = pacman
port = 2222
hostname = foo.com
[bar]
hostname = 1.2.3.4
gateways = foo
# By running `ssh bar`, you will ssh to `bar` through a `ssh foo`
[^vm-[0-9]*\.joe\.com$]
IdentityFile = ~/.ssh/root-joe
gateways = direct joe.com joe.com/bar
# Will try to ssh without proxy, then fallback to joe.com proxy, then
# fallback to joe.com through bar
DynamicForward = 43217
LocalForward = 1723 localhost:1723
ForwardX11 = yes
[default]
Includes = ~/.ssh/config.advanced2 ~/.ssh/config.advanced3 ~/.ssh/configs/*/host.config
# The `Includes` directive must be in the `[default]` section
Port = 22
User = root
IdentityFile = ~/.ssh/id_rsa
ProxyCommand = assh connect %h --port=%p
Gateways = direct
PubkeyAuthentication = yes
VisualHostKey = yes
ControlMaster = auto
ControlPath = ~/.ssh/controlmaster/%h-%p-%r.sock
EscapeChar = ~
Download the latest build
.. code:: console
$ curl -L https://github.com/moul/advanced-ssh-config/releases/download/v1.1.0/assh-`uname -s`-`uname -m` > /usr/local/bin/assh
$ chmod +x /usr/local/bin/assh
Using Pypi
.. code:: console
$ pip install advanced-ssh-config
Or by cloning
.. code:: console
$ git clone https://github.com/moul/advanced-ssh-config
$ cd advanced-ssh-config
$ make install
Automatically generate a new .ssh/config.advanced
based on your
current .ssh/config
file:
.. code:: console
$ assh init > ~/.ssh/config.advanced
$ assh build -f
.. code:: console
$ make test
Build
.. code:: console
$ docker build -t moul/advanced-ssh-config .
Run
.. code:: console
$ docker run -rm -i -t moul/advanced-ssh-config
or
$ docker run -rm -i -t -v $(pwd)/:/advanced_ssh_config moul/advanced-ssh-config
or
$ docker run -rm -i -t -v moul/advanced-ssh-config python setup.py test
Christo DeLange <https://github.com/dldinternet>
__--
© 2009-2015 Manfred Touron - MIT License <https://github.com/moul/advanced-ssh-config/blob/master/License.txt>
__.
.. |Travis| image:: https://img.shields.io/travis/moul/advanced-ssh-config.svg :target: https://travis-ci.org/moul/advanced-ssh-config .. |PyPI version| image:: https://img.shields.io/pypi/v/advanced-ssh-config.svg :target: https://pypi.python.org/pypi/advanced-ssh-config/ .. |PyPI downloads| image:: https://img.shields.io/pypi/dm/advanced-ssh-config.svg :target: .. |License| image:: https://img.shields.io/pypi/l/advanced-ssh-config.svg?style=flat :target: https://github.com/moul/advanced-ssh-config/blob/develop/LICENSE.md .. |Requires.io| image:: https://img.shields.io/requires/github/moul/advanced-ssh-config.svg :target: https://requires.io/github/moul/advanced-ssh-config/requirements/ .. |Gitter| image:: https://img.shields.io/badge/chat-gitter-ff69b4.svg :target: https://gitter.im/moul/advanced-ssh-config .. |ASSH logo - Advanced SSH Config logo| image:: https://raw.githubusercontent.com/moul/advanced-ssh-config/develop/assets/assh.jpg :target: https://github.com/moul/advanced-ssh-config
FAQs
Add some magic to SSH and .ssh/config
We found that advanced-ssh-config demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.