docker - 如何通过 SSH 进入 colima 实例

标签 docker colima

寻找通过 SSH 进入 colima 所需的步骤,这太新了而且文档有点稀缺。我需要复制卷,运行 scp 似乎很理想。

最佳答案

最快的答案

colima ssh

使用 ssh 快速回答

(tmpconfig=$(mktemp); limactl show-ssh --format config colima > $tmpconfig; ssh -F $tmpconfig lima-colima)

当我在这里的时候,这是 scp :

(tmpconfig=$(mktemp); limactl show-ssh --format config colima > $tmpconfig; scp -F $tmpconfig lima-colima:/path/to/somewhere/ .)

我很想用一个文件描述符来写这个,不幸的是,当你在 -F 中传递一个文件描述符时,ssh 不喜欢它参数,例如:ssh -F <(limactl show-ssh --format config colima) lima-colima


使用root

如果你需要授权为root例如 ssh -F $tmpconfig root@lima-colima您会发现它不起作用,您的用户将始终被使用,这里是更改它的步骤。

(
tmpconfig=$(mktemp);
# Need to remove the 'ControlPath' and 'User', and add 'ForwardAgent'
(limactl show-ssh --format config colima | grep -v "^  ControlPath\|  ^User"; echo "  ForwardAgent=yes") > $tmpconfig;
# Setup root account
ssh -F $tmpconfig $USER@lima-colima "sudo mkdir -p /root/.ssh/; sudo cp ~/.ssh/authorized_keys /root/.ssh/authorized_keys"
)

上面的命令稍微修改为:

(tmpconfig=$(mktemp); (limactl show-ssh --format config colima | grep -v "^  ControlPath\|  ^User"; echo "  ForwardAgent=yes") > $tmpconfig; ssh -F $tmpconfig root@lima-colima)

使用 ~/.ssh/config

如果你要成为 ssh -进入colima很多,你总是可以跳过所有的大惊小怪,简单地将它添加到你的 ~/.ssh/config并称之为“正常”。

# run this ONLY ONCE!!!
limactl show-ssh --format config colima >> ~/.ssh/config

然后只需调用 ssh/scp “通常”:

ssh lima-colima
scp lima-colima:/path/blah/foo .

就个人而言,我不喜欢弄乱我的 ~/.ssh/config ,但做最适合您的事情。

关于docker - 如何通过 SSH 进入 colima 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71265221/

相关文章:

macos - colima kubernetes 开始以 'error: no context exists with the name: "colima"' 结束

docker - 您是否尝试将目录挂载到文件上(反之亦然)?

docker - 如何在 docker v2 中指示 azureSubscriptionEndpoint

mysql - Nodejs mysql.createConnection 不接受密码

docker - 允许在DC/OS上使用docker-in-docker吗?

swift - 使用 Vapor 3 更改主机名和端口