将ssh密钥与scp和ssh一起使用

问题描述 投票:14回答:2

我正在尝试使用scp将少量文件复制到目标系统,然后登录到系统并安装这些文件。我在这里使用带有ssh密钥的scp和ssh命令进行无密码身份验证。

ssh密钥是在源系统上创建的,如下所示。这是创建ssh密钥的正确且安全的方法吗?

~]# ssh-keygen -t rsa -N "" -f ~/.ssh/mytest.key

通过执行以下命令将密钥从源复制到目标系统。

~]# ssh-copy-id -i ~/.ssh/mytest.key 

现在,SSH登录可以在不提示输入密码的情况下正常工作,但是scp仍然无法正常工作。它仍然提示输入密码。使用scp时应该指定密钥路径吗?如果是这样,如何与scp命令一起指定密钥路径?

这里是使用的ssh命令

~]# ssh -i ~/.ssh/mytest.key [email protected]
ssh scp ssh-keys
2个回答
27
投票

假设您的IP地址来自192.168.1.1,请尝试使用以下命令。

scp -i ~/.ssh/mytest.key [email protected]:/<filepath on host>  <path on client>

确保密钥文件应具有权限600或400。


0
投票

您也可以按照以下步骤操作:

  1. 使用以下命令生成ssh密钥
~]$ ssh-keygen

它将询问您详细信息,例如文件名,文件位置,密码短语等。

  1. 确保将位置和文件名保留为默认值,将是
/home/user/.ssh/rsa_id

确认密码短语后,将创建私钥和公钥文件。

  1. 与步骤2在同一.ssh文件夹中,创建名称为authorized_keys的文件。在此文件中复制公共密钥的内容。

您完成了!对于ssh和scp均适用,唯一的密码将是密码短语(如果您保留一个密码)。

© www.soinside.com 2019 - 2024. All rights reserved.