我正在从一台 Linux 机器的根目录执行 sshbor sftp 连接到另一台远程 Linux 机器。端口 22 已打开,但要求输入密码。我运行 ssh -vvv 并得到输出。这里有人可以分析它并让我知道需要做什么来禁用密码身份验证。谢谢
答案1
如果您已经设置了 ssh 密钥,那么您需要做的就是从一台服务器获取公共 ssh 密钥,并将其放入远程主机的授权密钥文件中。
你的公共 ssh 密钥将类似于/home/.ssh/id_rsa.pub
可以将此密钥复制到~/.ssh/authorized_keys
远程主机上。
或者您可以按照以下步骤创建新密钥并设置无密码 ssh。
跑步:
ssh-keygen
这将创建一个类似这样的公钥:
/home/myhome/.ssh/id_rsa.pub
然后您可以使用ssh-copy-id
将公钥复制到远程主机:
ssh-copy-id -i /home/myhome/.ssh/id_rsa.pub remote-host
这会将新创建的公钥添加到远程主机上的授权密钥文件中。
您可以通过查看以下内容来检查是否添加了新密钥:
.ssh/authorized_keys
现在,系统将不会提示您输入密码。
答案2
在主机之间执行 ssh 密钥对
示例:(主机A和主机B)
hostA# ssh-keygen
hostA# ssh-copy-id hostB
hostB# insert password of hostB
现在可以不用密码使用 sftp