docker-machine-add-ssh


Namedocker-machine-add-ssh JSON
Version 1.8 PyPI version JSON
download
home_pageNone
SummaryAdds docker-machine ssh configuration into your personal ssh configuration
upload_time2025-07-10 01:08:55
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords docker docker-machine ssh
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## DOCKER-MACHINE ADD SSH
[![PyPi](https://img.shields.io/pypi/v/docker-machine-add-ssh)](https://pypi.org/project/docker-machine-add-ssh/)
[![AUR](https://img.shields.io/aur/version/docker-machine-add-ssh)](https://aur.archlinux.org/packages/docker-machine-add-ssh/)

This is a command line program to allow you to use ordinary
[ssh](https://en.wikipedia.org/wiki/Secure_Shell) commands with [Docker
Machine](https://github.com/docker/machine) rather than use
[`docker-machine ssh`](https://docs.docker.com/machine/reference/ssh/)
or [`docker-machine
scp`](https://docs.docker.com/machine/reference/scp/).

## USAGE

Type `docker-machine-add-ssh -h` to view the usage summary:

```
usage: docker-machine-add-ssh [-h] [-r] [-d] [-f] [-B] [-S] name

Adds docker-machine ssh configuration to your personal ssh configuration.
Normally, you ssh to a docker-machine using command "docker-machine ssh
<mach>" but after running this utility once for the specified machine, you can
then on use ssh in the normal way, e.g. "ssh <mach>". Other standard programs
such as scp, sftp, rsync, and anything else that relies on them or normal ssh
can then also be used to that docker-machine.

positional arguments:
  name            docker machine name

options:
  -h, --help      show this help message and exit
  -r, --replace   do not fail if host entry already exists, just replace it
  -d, --delete    just delete any existing host entry
  -f, --files     get parameters directly from files rather than via docker-
                  machine command
  -B, --nobackup  do not create a backup file
  -S, --nostrict  disable strict host key check

Note you can set default starting options in ~/.config/docker_machine_add_ssh-
flags.conf.
```

## EXAMPLES

```sh
$ tree foodir
foodir
├── a
└── b

# Create a docker machine:
$ docker-machine create vb1
...

# Login to that machine:
$ docker-machine ssh vb1
...
exit

# Copy a directory and it's files to the new machine the docker-machine way:
$ docker-machine scp -r foodir vb1:
b             100$    0     0.0KB/s   00:00
a             100%    0     0.0KB/s   00:00

# Or, use docker-machine rsync mode:
$ docker-machine scp -r -d foodir vb1:
sending incremental file list
foodir/a
              0 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=1/3)
foodir/b
              0 100%    0.00kB/s    0:00:00 (xfr#2, to-chk=0/3)

# Instead, do all this normally, after executing docker-machine-add-ssh:
$ docker-machine-add-ssh vb1
vb1 entry added to /home/mark/.ssh/config.

# Login to that machine normally. Be sure to do this first time to clear
# the host check as seen in this example:
$ ssh vb1
The authenticity of host '192.168.99.100 (192.168.99.100)' can't be established.
ECDSA key fingerprint is SHA256:Gya8jUcRhXlO/IkkTicrbLEPmMV0V5uOALB2Y5kJUCc.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.99.107' (ECDSA) to the list of known hosts.

docker@vb1:~$ exit

# Now you can just use normal scp or rsync:
$ scp -pr foodir vb1:
b             100%    0     0.0KB/s   00:00    
a             100%    0     0.0KB/s   00:00 

$ rsync -av foodir vb1:
sending incremental file list

sent 100 bytes  received 17 bytes  234.00 bytes/sec
total size is 0  speedup is 0.00

# Finished with the machine so delete all trace of it:
$ docker-machine rm vb1
About to remove vb1
WARNING: This action will delete both local reference and remote instance.
Are you sure? (y/n): y
Successfully removed vb1

$ docker-machine-add-ssh -d vb1
vb1 entry deleted from /home/mark/.ssh/config.
```

## DEFAULT OPTIONS

You can add default options to a personal configuration file
`~/.config/docker-machine-add-ssh-flags.conf`. If that file exists then
each line of arguments will be concatenated and automatically prepended
to your `docker-machine-add-ssh` command line options. Comments in the
file (i.e. starting with "#") are ignored.

This allow you to set default preferred starting options to
`docker-machine-add-ssh`. Type `docker-machine-add-ssh -h` to see the
options supported.
E.g. `echo "-r" >~/.config/docker-machine-add-ssh-flags.conf` to make
`docker-machine-add-ssh` always replace existing host entries even if
they already exist.

## INSTALLATION

Python 3.7 or later is required. Ensure
[`docker-machine`](https://docs.docker.com/machine/install-machine) is
installed.

Arch users can install [docker-machine-add-ssh from the
AUR](https://aur.archlinux.org/packages/docker-machine-add-ssh/).

Note [docker-machine-add-ssh is on
PyPI](https://pypi.org/project/docker-machine-add-ssh/) so the easiest
way to install it is to use [`uv tool`][uvtool] (or [`pipx`][pipx] or
[`pipxu`][pipxu]).

```sh
$ uv tool install docker-machine-add-ssh
```

To upgrade:

```sh
$ uv tool upgrade docker-machine-add-ssh
```

To uninstall:

```sh
$ uv tool uninstall docker-machine-add-ssh
```

[pipx]: https://github.com/pypa/pipx
[pipxu]: https://github.com/bulletmark/pipxu
[uvtool]: https://docs.astral.sh/uv/guides/tools/#installing-tools

## LICENSE

Copyright (C) 2020 Mark Blakeney. This program is distributed under the
terms of the GNU General Public License.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or any later
version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License at <http://www.gnu.org/licenses/> for more details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "docker-machine-add-ssh",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "docker, docker-machine, ssh",
    "author": null,
    "author_email": "Mark Blakeney <mark.blakeney@bullet-systems.net>",
    "download_url": "https://files.pythonhosted.org/packages/85/a4/109430aa8203efb62ba0a5eb1cfd58d1c682a723e055a7aa36015d035436/docker_machine_add_ssh-1.8.tar.gz",
    "platform": null,
    "description": "## DOCKER-MACHINE ADD SSH\n[![PyPi](https://img.shields.io/pypi/v/docker-machine-add-ssh)](https://pypi.org/project/docker-machine-add-ssh/)\n[![AUR](https://img.shields.io/aur/version/docker-machine-add-ssh)](https://aur.archlinux.org/packages/docker-machine-add-ssh/)\n\nThis is a command line program to allow you to use ordinary\n[ssh](https://en.wikipedia.org/wiki/Secure_Shell) commands with [Docker\nMachine](https://github.com/docker/machine) rather than use\n[`docker-machine ssh`](https://docs.docker.com/machine/reference/ssh/)\nor [`docker-machine\nscp`](https://docs.docker.com/machine/reference/scp/).\n\n## USAGE\n\nType `docker-machine-add-ssh -h` to view the usage summary:\n\n```\nusage: docker-machine-add-ssh [-h] [-r] [-d] [-f] [-B] [-S] name\n\nAdds docker-machine ssh configuration to your personal ssh configuration.\nNormally, you ssh to a docker-machine using command \"docker-machine ssh\n<mach>\" but after running this utility once for the specified machine, you can\nthen on use ssh in the normal way, e.g. \"ssh <mach>\". Other standard programs\nsuch as scp, sftp, rsync, and anything else that relies on them or normal ssh\ncan then also be used to that docker-machine.\n\npositional arguments:\n  name            docker machine name\n\noptions:\n  -h, --help      show this help message and exit\n  -r, --replace   do not fail if host entry already exists, just replace it\n  -d, --delete    just delete any existing host entry\n  -f, --files     get parameters directly from files rather than via docker-\n                  machine command\n  -B, --nobackup  do not create a backup file\n  -S, --nostrict  disable strict host key check\n\nNote you can set default starting options in ~/.config/docker_machine_add_ssh-\nflags.conf.\n```\n\n## EXAMPLES\n\n```sh\n$ tree foodir\nfoodir\n\u251c\u2500\u2500 a\n\u2514\u2500\u2500 b\n\n# Create a docker machine:\n$ docker-machine create vb1\n...\n\n# Login to that machine:\n$ docker-machine ssh vb1\n...\nexit\n\n# Copy a directory and it's files to the new machine the docker-machine way:\n$ docker-machine scp -r foodir vb1:\nb             100$    0     0.0KB/s   00:00\na             100%    0     0.0KB/s   00:00\n\n# Or, use docker-machine rsync mode:\n$ docker-machine scp -r -d foodir vb1:\nsending incremental file list\nfoodir/a\n              0 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=1/3)\nfoodir/b\n              0 100%    0.00kB/s    0:00:00 (xfr#2, to-chk=0/3)\n\n# Instead, do all this normally, after executing docker-machine-add-ssh:\n$ docker-machine-add-ssh vb1\nvb1 entry added to /home/mark/.ssh/config.\n\n# Login to that machine normally. Be sure to do this first time to clear\n# the host check as seen in this example:\n$ ssh vb1\nThe authenticity of host '192.168.99.100 (192.168.99.100)' can't be established.\nECDSA key fingerprint is SHA256:Gya8jUcRhXlO/IkkTicrbLEPmMV0V5uOALB2Y5kJUCc.\nAre you sure you want to continue connecting (yes/no/[fingerprint])? yes\nWarning: Permanently added '192.168.99.107' (ECDSA) to the list of known hosts.\n\ndocker@vb1:~$ exit\n\n# Now you can just use normal scp or rsync:\n$ scp -pr foodir vb1:\nb             100%    0     0.0KB/s   00:00    \na             100%    0     0.0KB/s   00:00 \n\n$ rsync -av foodir vb1:\nsending incremental file list\n\nsent 100 bytes  received 17 bytes  234.00 bytes/sec\ntotal size is 0  speedup is 0.00\n\n# Finished with the machine so delete all trace of it:\n$ docker-machine rm vb1\nAbout to remove vb1\nWARNING: This action will delete both local reference and remote instance.\nAre you sure? (y/n): y\nSuccessfully removed vb1\n\n$ docker-machine-add-ssh -d vb1\nvb1 entry deleted from /home/mark/.ssh/config.\n```\n\n## DEFAULT OPTIONS\n\nYou can add default options to a personal configuration file\n`~/.config/docker-machine-add-ssh-flags.conf`. If that file exists then\neach line of arguments will be concatenated and automatically prepended\nto your `docker-machine-add-ssh` command line options. Comments in the\nfile (i.e. starting with \"#\") are ignored.\n\nThis allow you to set default preferred starting options to\n`docker-machine-add-ssh`. Type `docker-machine-add-ssh -h` to see the\noptions supported.\nE.g. `echo \"-r\" >~/.config/docker-machine-add-ssh-flags.conf` to make\n`docker-machine-add-ssh` always replace existing host entries even if\nthey already exist.\n\n## INSTALLATION\n\nPython 3.7 or later is required. Ensure\n[`docker-machine`](https://docs.docker.com/machine/install-machine) is\ninstalled.\n\nArch users can install [docker-machine-add-ssh from the\nAUR](https://aur.archlinux.org/packages/docker-machine-add-ssh/).\n\nNote [docker-machine-add-ssh is on\nPyPI](https://pypi.org/project/docker-machine-add-ssh/) so the easiest\nway to install it is to use [`uv tool`][uvtool] (or [`pipx`][pipx] or\n[`pipxu`][pipxu]).\n\n```sh\n$ uv tool install docker-machine-add-ssh\n```\n\nTo upgrade:\n\n```sh\n$ uv tool upgrade docker-machine-add-ssh\n```\n\nTo uninstall:\n\n```sh\n$ uv tool uninstall docker-machine-add-ssh\n```\n\n[pipx]: https://github.com/pypa/pipx\n[pipxu]: https://github.com/bulletmark/pipxu\n[uvtool]: https://docs.astral.sh/uv/guides/tools/#installing-tools\n\n## LICENSE\n\nCopyright (C) 2020 Mark Blakeney. This program is distributed under the\nterms of the GNU General Public License.\nThis program is free software: you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation, either version 3 of the License, or any later\nversion.\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License at <http://www.gnu.org/licenses/> for more details.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Adds docker-machine ssh configuration into your personal ssh configuration",
    "version": "1.8",
    "project_urls": {
        "Homepage": "https://github.com/bulletmark/docker-machine-add-ssh"
    },
    "split_keywords": [
        "docker",
        " docker-machine",
        " ssh"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f7769fab911bb00dd6143a842e66f5e2df9e2e450bf7780d786ff5128b829836",
                "md5": "2b54db03ef254f3a24b21382f600b857",
                "sha256": "8cc8ec3005e4c3cc553e270a64bf62d57402490bd62dc393905b1cd4327d7336"
            },
            "downloads": -1,
            "filename": "docker_machine_add_ssh-1.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2b54db03ef254f3a24b21382f600b857",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 6450,
            "upload_time": "2025-07-10T01:08:53",
            "upload_time_iso_8601": "2025-07-10T01:08:53.720717Z",
            "url": "https://files.pythonhosted.org/packages/f7/76/9fab911bb00dd6143a842e66f5e2df9e2e450bf7780d786ff5128b829836/docker_machine_add_ssh-1.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "85a4109430aa8203efb62ba0a5eb1cfd58d1c682a723e055a7aa36015d035436",
                "md5": "d1c24ccf12c8d9709aee8bdfe82f7e8f",
                "sha256": "2c6b333983d171d9c4737f65c0bffe4c672449edb03146c3bf59b1e8c2cedc81"
            },
            "downloads": -1,
            "filename": "docker_machine_add_ssh-1.8.tar.gz",
            "has_sig": false,
            "md5_digest": "d1c24ccf12c8d9709aee8bdfe82f7e8f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 6367,
            "upload_time": "2025-07-10T01:08:55",
            "upload_time_iso_8601": "2025-07-10T01:08:55.126696Z",
            "url": "https://files.pythonhosted.org/packages/85/a4/109430aa8203efb62ba0a5eb1cfd58d1c682a723e055a7aa36015d035436/docker_machine_add_ssh-1.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-10 01:08:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bulletmark",
    "github_project": "docker-machine-add-ssh",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "docker-machine-add-ssh"
}
        
Elapsed time: 0.50396s