如何为Docker Machine create命令指定公共ssh密钥的标志



我已经启动并运行了EC2实例,该实例中的authorized_keys文件中允许使用公共ssh密钥。

私钥和公钥位于我的~/.ssh目录中。我将公钥命名为public.pub

这就是我运行它的方式:

docker-machine create --driver generic --generic-ip-address=18.122.150.170 --generic-ssh-key ~/.ssh/public.pub app-prod

这给了我:

/home/mark/.ssh/public.pub.pub: no such file or directory

因为.pub似乎是自动附加的,所以我继续使用:

docker-machine create --driver generic --generic-ip-address=18.122.150.170 --generic-ssh-key ~/.ssh/public app-prod

给了我:

Running pre-create checks...
Error with pre-create check: "SSH key does not exist: "/home/mark/.ssh/public""

.ssh目录中

根据下面的指南,我应该提供一条通往私钥的路径:

docker-machine create 
--driver generic 
--generic-ip-address=$IP_ADDRESS 
--generic-ssh-user $USERNAME 
--generic-ssh-key ~/.ssh/$PRIVATE_KEY 
zdocker

如果是这样的话,为什么.pub会被附加到它上面?

你知道这里发生了什么吗?

看起来波浪形符号解析不正确。尝试使用SSH密钥的完整路径,或者使用$HOME作为替换
此外,您可能错过了ssh用户参数,这一点很重要。

docker-machine create --driver generic --generic-ip-address=18.122.150.170 --generic-ssh-key $HOME/.ssh/public --generic-ssh-user your_user app-prod

最新更新