我正在尝试使用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]
假设您的IP地址来自192.168.1.1,请尝试使用以下命令。
scp -i ~/.ssh/mytest.key [email protected]:/<filepath on host> <path on client>
确保密钥文件应具有权限600或400。
您也可以按照以下步骤操作:
~]$ ssh-keygen
它将询问您详细信息,例如文件名,文件位置,密码短语等。
/home/user/.ssh/rsa_id
确认密码短语后,将创建私钥和公钥文件。
您完成了!对于ssh和scp均适用,唯一的密码将是密码短语(如果您保留一个密码)。