如何将我的 RSA 密钥保存在我的 Docker 机器中?
How can I save my RSA KEY in my Docker Machine?
~/.ssh/my_id_rsa
在由 docker-machine create
创建的虚拟机中,每当我重新启动它时就会消失。我已阅读有关 docs.docker.com 的文档,但找不到有关此问题的信息。
我的主机是Mac(El Capitan),docker-machine的版本如下:
$ docker-machine version
docker-machine version 0.6.0, build e27fb87
我使用以下选项创建了我的 VM:
$ docker-machine create --driver virtualbox dev
关于如何解决这个问题有什么建议吗?我应该在哪里查看?
更具体地说,我想知道如何避免这个问题:
(host) $ docker-machine create --driver virtualbox dev
(host) $ docker-machine ssh dev
(dev) $ ssh-keygen
...
(dev) $ ls ~/.ssh
authorized_keys authorized_keys2 id_rsa id_rsa.pub
(dev) $ logout
(host) $ docker-machine restart dev
(host) $ docker-machine ssh dev
(dev) $ ls ~/.ssh
authorized_keys authorized_keys2
"id_rsa" 和 "id_rsa.pub" 在哪里?
通常,我不会指定任何关于 ssh 密钥的信息:docker-machine
在 ~/.docker/machine/machines/<amachine>/
中创建一个无密码的 ssh 密钥
如果您想指定自己的,请参阅 this example from the docker-machine
documentation:
$ docker-machine create \
--driver generic \
--generic-ip-address=203.0.113.81 \
--generic-ssh-key=~/.ssh/id_rsa \
vm
OP 添加:
(dev) $ logout
(host) $ docker-machine restart dev
(host) $ docker-machine ssh dev
那是在虚拟机本身内创建 ssh 密钥:基于 TinyCore 的 boot2docker 只保留 /var/lib/boot2docker 中的内容,没有其他内容。
它确实挂载了 /Users
,但除此之外,其他所有内容(包括 /home/docker
、~/.ssh
中的 ~
)都重置为 boot2docker.iso
原始内容下次重启。
参见“boot2docker: Persist data”
要使这些 ssh 密钥在会话中持续存在,您需要:
- 在 /Users/any/path/you/want 中生成它们(因为它们实际上会存储在主机上)
- 或在
/var/lib/boot2docker
中生成它们
~/.ssh/my_id_rsa
在由 docker-machine create
创建的虚拟机中,每当我重新启动它时就会消失。我已阅读有关 docs.docker.com 的文档,但找不到有关此问题的信息。
我的主机是Mac(El Capitan),docker-machine的版本如下:
$ docker-machine version
docker-machine version 0.6.0, build e27fb87
我使用以下选项创建了我的 VM:
$ docker-machine create --driver virtualbox dev
关于如何解决这个问题有什么建议吗?我应该在哪里查看?
更具体地说,我想知道如何避免这个问题:
(host) $ docker-machine create --driver virtualbox dev
(host) $ docker-machine ssh dev
(dev) $ ssh-keygen
...
(dev) $ ls ~/.ssh
authorized_keys authorized_keys2 id_rsa id_rsa.pub
(dev) $ logout
(host) $ docker-machine restart dev
(host) $ docker-machine ssh dev
(dev) $ ls ~/.ssh
authorized_keys authorized_keys2
"id_rsa" 和 "id_rsa.pub" 在哪里?
通常,我不会指定任何关于 ssh 密钥的信息:docker-machine
在 ~/.docker/machine/machines/<amachine>/
如果您想指定自己的,请参阅 this example from the docker-machine
documentation:
$ docker-machine create \
--driver generic \
--generic-ip-address=203.0.113.81 \
--generic-ssh-key=~/.ssh/id_rsa \
vm
OP 添加:
(dev) $ logout
(host) $ docker-machine restart dev
(host) $ docker-machine ssh dev
那是在虚拟机本身内创建 ssh 密钥:基于 TinyCore 的 boot2docker 只保留 /var/lib/boot2docker 中的内容,没有其他内容。
它确实挂载了 /Users
,但除此之外,其他所有内容(包括 /home/docker
、~/.ssh
中的 ~
)都重置为 boot2docker.iso
原始内容下次重启。
参见“boot2docker: Persist data”
要使这些 ssh 密钥在会话中持续存在,您需要:
- 在 /Users/any/path/you/want 中生成它们(因为它们实际上会存储在主机上)
- 或在
/var/lib/boot2docker
中生成它们