docker 如何通过SSH连接到colima示例

vi4fp9gy  于 2023-01-08  发布在  Docker
关注(0)|答案(1)|浏览(137)

查找SSH到colima所需的步骤,这太新了,文档也有点少。我需要复制卷,运行scp似乎很理想。

7eumitmz

7eumitmz1#

最快答案

第一个月

使用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/ .)
  • 我很想用文件描述符来写这个,不幸的是,ssh不喜欢在-F参数中传递文件描述符,例如:ssh -F <(limactl show-ssh --format config colima) lima-colima*

使用根目录

如果您需要以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/配置

如果你打算经常使用ssh-ing到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弄得乱七八糟,但我会做最适合您的事情。*

相关问题