寻找通过 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/