gpt4 book ai didi

ssh - 在自定义 vagrant 框中保存 ssh 公钥的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-02 14:28:39 24 4
gpt4 key购买 nike

我经常看到非官方文件说你应该保存vagrant创建自己的盒子时用户的 ssh 公钥,如下所示:

curl https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub >> /home/vagrant/.ssh/authorized_keys

vagrant up使用该框,将显示以下消息:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...

在我看来,mitchellh 的 vagrant.pub上面的键不合适。
vagrant 最好的保存方法是什么?用户的 ssh 公钥?

最佳答案

您在 raw.githubusercontent.com 上指向的键是一个不能使用的示例。

返回的消息似乎告诉另一个 key 对是自动生成的:

default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...


因此,如果一切正常,您的容器现在使用 /home/vagrant/.ssh/authorized_keys 中的新公钥并且您的本地主机使用 $HOME/.ssh/id_rsa 中的新私钥.

将此文件与您最初下载的文件进行比较,查看两个文件的修改时间(在本地主机和 vagrant 容器中)

构建自己的 key

只需运行:
ssh-keygen -f ~/.ssh/vagrant-dedicated

man ssh-keygen对于 key 长度、密码等...

样本输出:
  • 对话:
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again:
  • 简单输出:
    Generating public/private rsa key pair.
    Your identification has been saved in vagrant-dedicated.
    Your public key has been saved in vagrant-dedicated.pub.
    The key fingerprint is:
    SHA256:U2YfVbMlCUed7tXrvf3xBQoLB3glpSpto4hwdjTKwV0 user @host
    The key's randomart image is:
    +---[RSA 2048]----+
    | E ..o .o==+|
    | . . . . + o.o=|
    | o + . + + . ...|
    | . + o o = . . .o|
    |. = o = S o . o o|
    |.+ o + . + o . + |
    |. . . . . ..o|
    | .*|
    | .*|
    +----[SHA256]-----+

  • 这将创建两个文件:
    ls -l ~/.ssh/vagrant-dedicated*
    -rw------- 1 user user 1679 Oct 20 12:18 vagrant-dedicated
    -rw-r--r-- 1 user user 394 Oct 20 12:18 vagrant-dedicated.pub


    head -n1 ~/.ssh/vagrant-dedicated*
    ==> vagrant-dedicated <==
    -----BEGIN RSA PRIVATE KEY-----

    ==> vagrant-dedicated.pub <==
    ssh-rsa AAAAB3...0y/5 user@host

    替换容器的内容 /home/vagrant/.ssh/authorized_keys根据 ~/.ssh/vagrant-dedicated.pub 的内容,然后使用 vagrant-dedicated作为 ssh 连接的私钥。
    ssh -i ~/.ssh/vagrant-dedicated vagrant@container

    指纹注意事项

    在第一次连接到新的目标主机之前, ssh将提示您有关主机的指纹。

    你可以比较输出
    ssh-keygen -vlf /etc/ssh/ssh_host_rsa_key.pub 

    在目标 vagrant 容器上,输出您的第一个连接输出:
    ssh -o VisualHostKey=true -i ~/.ssh/vagrant-dedicated vagrant@container

    第一次运行将开始输出,如:
    The authenticity of host 'container (10.12.34.56)' can't be established.

    然后, 指纹 , 就像是
    ECDSA key fingerprint is SHA256:9M+2wGn0nZO3GPYkWuuxzXqI3nIbk5IJJ5xwhsxwbXk

    ASCII 艺术 表示:
    +---[ECDSA 256]---+
    | . .. . |
    | = .+ E |
    | =oo. |
    | .=.. |
    | S=o. |
    | o+=o..o |
    | =+*X*..|
    | . =*+#+.|
    | .o=O+= |
    +----[SHA256]-----+

    两个命令必须给出相同的指纹和 ascii 艺术。

    关于ssh - 在自定义 vagrant 框中保存 ssh 公钥的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58471105/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com