如何使用ssh-keygen生成私钥并对其进行授权?


19

我想在服务器1上生成一个公私钥,并将其存储在不是默认位置的位置。

之后,将公钥保存在服务器2上;再次不在默认位置。

然后将此密钥设为授权密钥。

但是,我authorized_keys~/.ssh文件夹中找不到文件。如何使其获得授权?


1
ssh-keygen是用于生成密钥的命令。在创建过程中,它要求密钥文件的位置。我认为,如果您没有密码授权密钥,则必须创建文件授权密钥
sagarchalise

Answers:


22
  1. 运行ssh-keygen -f filename
  2. scp filename username@server:filename-on-server
  3. 登录到服务器并运行 cat filename-on-server >> ~/.ssh/authorized_keys

您也可以将步骤2和3替换为ssh-copy-id -i filename username@server


我收到一个错误:参数过多
IgorGanapolsky '16

@Igor在哪一步?
Mikel

1
您是否应该追加filename.pub而不是filename(这将是您的私钥?)
塞缪尔

1

使用ssh-keygen命令。在服务器上(您希望ssh存放在其中)将公共密钥存储在file中~/.ssh/authorized_keys。如果您的家(〜)内还没有.ssh目录,请创建它(也要注意:出于安全原因,sshd似乎很挑剔-没有其他用户可以读取该文件/目录,最好发出.ssh目录中的chmod 700和其中文件中的chmod 600)。

在您要从ssh进行加密的计算机(“客户端”)上,可以使用私钥将ssh加密到服务器。您可以将其存储在任何地方,然后可以使用-issh开关来提供将要使用的公共密钥。我写这封信,是因为您说过“不在默认位置存储”。默认位置是file id_dsa.ssh目录中的(用于DSA密钥)。然后,您不需要-i开关来指定您的密钥,因为它将自动从那里选择。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.