我已经启动并运行了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