docker - 如何通过 SSH 进入 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 ,但做最适合您的事情。

https://stackoverflow.com/questions/71265221/

相关文章:

javascript - 使用 useState 从数组中删除最后一项

swift - 如何快速制作圆形或填充和圆形进度 View (使用 CAShapeLayers)

arrays - Perl 中是否有任何函数可以移动数组元素而不删除它们?

python - 极地 : switching between dtypes within a Da

linux - 使用打印命令选择子域

python - 我们如何提取数据框中具有顺序值的行?

python - 两个日期时间之间的 15 分钟间隔数

python - 理解 python 的 len() 时间复杂度

python - 如何在不完全用 Python 重写的情况下在函数内部添加、删除和编辑某些行?

c++ - 键入 “$” 命令不会跳转到行尾 [光标设置为 “|”(条形/管道)而不是 block