即使将机器设置为无密码 SSH 登录后仍然要求输入密码

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

我需要将文件从远程计算机复制到本地计算机,并且我需要自动化它。

我已经尝试过 SCP 命令并且它正在工作,但是,我无法自动化它要求本地计算机和远程计算机用户的密码的部分。

基于这篇文章我可以使用 ssh-keygen 和 ssh-copy-id 执行无密码 SSH 登录

按照那里写的所有说明进行操作后,我尝试使用它访问远程计算机

ssh [电子邮件受保护]

它有效,不再要求输入密码。但是当我尝试使用下面的命令从该机器复制文件时,

scp [email protected]:'/a/b/c.txt' [email protected]:'/b/c/'

它仍然要求输入本地计算机的密码,即 [电子邮件受保护]

我想知道我是否做错了什么?会是什么呢?命令格式有问题吗

顺便说一句,我正在使用 Centos,我打算使用 python 进行编码

ssh centos scp
2个回答
0
投票

我认为您可能有多个 ssh 密钥,并且仅将身份设置为 yes。如果是这样,请检查这个答案:https://askubuntu.com/a/999306/398861


0
投票

如果您要复制到本地计算机,为什么不这样做

scp [email protected]:'/a/b/c.txt' /b/c/

我在一些具有类似设置的机器上尝试了您的线路,但没有被要求输入密码;相反,我收到了错误,但这可能是由于我们的配置差异造成的。我尝试了我的,它成功了。

关于您在远程计算机上的连接是否成功,您可以在那里尾随此文件:

tail -f /var/log/secure

如果您没有看到任何错误,您可以确定(好吧,永远不要说总是)您使用生成的键的布局正在工作。

在这种情况下,我打赌你不会看到任何错误。

编辑20240314

我在原来的答案中所说的仍然是正确的。但是,要使命令正常工作,您还需要使用 ssh-copy-id 将密钥复制到本地计算机。这会将您自己的密钥放入您的授权密钥文件中。如果您通过 [电子邮件受保护] 访问自己的计算机,则还需要在那里添加密钥。

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