如何通过 SSH 进入 colima 实例
How to SSH into the colima instance
寻找通过 SSH 连接到 colima
所需的步骤,这太新了而且文档有点稀缺。我需要复制这些卷,运行 scp
看起来很理想。
快速回答
我发现最直接的方法是:
(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
-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
弄得乱七八糟,而是做最适合自己的事情。
寻找通过 SSH 连接到 colima
所需的步骤,这太新了而且文档有点稀缺。我需要复制这些卷,运行 scp
看起来很理想。
快速回答
我发现最直接的方法是:
(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
-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
弄得乱七八糟,而是做最适合自己的事情。