我试图从服务器A复制一个公钥到服务器B的known_hosts文件中。它们都是Linux服务器。最初我想打开公钥文件并将其内容复制到known_hosts文件中,但我怀疑这不是正确的方法。有人知道正确的方法是什么吗?我的公钥格式为ssh-rsa AADGD...有人能帮忙吗?谢谢!
ssh-rsa AADGD...
3b6akqbq1#
几天前,我在超级用户上回答了几乎类似的问题。
ssh-keyscan
否则,只需在你的密钥前面加上服务器IP地址(你也可以在逗号后面加上主机名),删除行尾的注解,就可以了。
11.22.33.44 ssh-rsa AADGD...
还有一点要注意,如果你使用HashKnownHosts yes(Debian和Ubuntu都使用),你需要重新散列你的known_hosts,比如:
HashKnownHosts yes
known_hosts
ssh-keygen -Hf ~/.ssh/known_hosts
nwnhqdif2#
我刚刚遇到这个问题,下面是我的处理方法:随着时间的推移,通过
ssh-keyscan server-name >> ~/.ssh/known_hosts
在.ssh/known_hosts中给了我重复的条目。其他需要我创建.ssh目录的手动方法还不存在,等等。我决定让ssh来处理它:
.ssh/known_hosts
.ssh
ssh
ssh -o StrictHostKeyChecking=no server-name ls
-o StrictHostKeyChecking=no选项自动对
-o StrictHostKeyChecking=no
The authenticity of host 'server-name (12.345.678.900)' can't be established. RSA key fingerprint is XXXXXXX. Are you sure you want to continue connecting (yes/no)?
message(在此插入有关随机连接到未知计算机的所有安全警告)。ls命令只是一个执行并强制SSH断开连接的fluff命令,您可以将其更改为任何您喜欢的fluff命令。ssh将负责创建.ssh目录(如果需要),只添加密钥的一个副本,等等。操作系统:macOS 10.14
ls
7eumitmz3#
我就是这么做的。1.使用以下命令在主机服务器上生成密钥。
*ssh-keyscan -t rsa完整服务器名称
1.现在复制突出显示的部分(如图所示),并将此键附加到源服务器上的“known_host”文件中。当然,对于不同的环境,此文件的位置可能不同。
hjqgdpho4#
假设您有一个名为publickey.pub的文件,那么请执行以下操作:
publickey.pub
scp
public key .pub
sudo /bin/bash -c "cat /$USER_PATH/public_key.pub >> $USER_PATH/.ssh/authorized_keys"
1.对于known_hosts =运行
sudo /bin/bash -c "cat /$USER_PATH/public_key.pub >> $USER_PATH/.ssh/known_hosts"
1.使用ssh测试连接注意:确保你检查了你的公钥格式。到目前为止我看到的都是以加密算法开始的,例如ssh-RSA
ssh-RSA
4条答案
按热度按时间3b6akqbq1#
几天前,我在超级用户上回答了几乎类似的问题。
ssh-keyscan
可以为您创建格式否则,只需在你的密钥前面加上服务器IP地址(你也可以在逗号后面加上主机名),删除行尾的注解,就可以了。
还有一点要注意,如果你使用
HashKnownHosts yes
(Debian和Ubuntu都使用),你需要重新散列你的known_hosts
,比如:nwnhqdif2#
我刚刚遇到这个问题,下面是我的处理方法:
随着时间的推移,通过
在
.ssh/known_hosts
中给了我重复的条目。其他需要我创建
.ssh
目录的手动方法还不存在,等等。我决定让
ssh
来处理它:-o StrictHostKeyChecking=no
选项自动对message(在此插入有关随机连接到未知计算机的所有安全警告)。
ls
命令只是一个执行并强制SSH断开连接的fluff命令,您可以将其更改为任何您喜欢的fluff命令。ssh将负责创建
.ssh
目录(如果需要),只添加密钥的一个副本,等等。操作系统:macOS 10.14
7eumitmz3#
我就是这么做的。
1.使用以下命令在主机服务器上生成密钥。
*ssh-keyscan -t rsa完整服务器名称
1.现在复制突出显示的部分(如图所示),并将此键附加到源服务器上的“known_host”文件中。当然,对于不同的环境,此文件的位置可能不同。
hjqgdpho4#
假设您有一个名为
publickey.pub
的文件,那么请执行以下操作:scp
将public key .pub
安装到所需的服务器1.为AWS EC2 ubuntu示例运行
1.对于
known_hosts
=运行1.使用
ssh
测试连接注意:确保你检查了你的公钥格式。到目前为止我看到的都是以加密算法开始的,例如
ssh-RSA