ysa*_*sap 6 linux ssh windows-7 putty ssh-keys
我正在尝试设置从 Windows 7 机器到 Red-Hat Linux 机器的公共 SSH 密钥连接。最终目的是从命令终端使用pscp(PuTTY 的 版本scp),而无需重复输入密码。
根据 PuTTY 的文档和其他在线资源,我使用PuTTYgen生成了一个密钥对。然后我将生成的公钥复制到~/.ssh/authorized_keysLinux 机器上的一个文件中(据我所知,它运行 OpenSSH 服务器)。
为了检查连接,我运行 PuTTY 并在其 GUI 的适当位置设置用户名和私钥文件。
但是,当尝试使用 PuTTY 的 SSH 进行连接时,连接使用了预设的用户名,但我收到了“ Server refused our key”的错误消息并提示输入密码。
然后我尝试将PuTTYgen的 GUI 中的公钥文本复制粘贴到authorized_keys文件中,但它也不起作用。
我应该如何设置从 Win 7 到 Linux 的公钥连接?
我如何使用它pscp(而不是 PuTTY 的 ssh)?
更新:认为问题可能出在PuTTYgen密钥格式上,我ssh-keygen在 Linux 机器上使用来创建 RSA 密钥对。它生成了id_rsa私钥和id_rsa.pub公钥。尝试使用> ssh-add id_rsa没有成功,因为我 git 的回复是“ Could not open a connection to your authentication agent.”,所以我只使用了> cp id_rsa.pub authorized_keys.
然后我将这些文件复制到 Windows 机器上,并使用PuTTYgen将私钥转换为 PuTTY 私钥格式 ( *.ppk)。尝试使用新密钥连接时,我收到“ Server refused our key”的响应。
你必须正确地遵循这些。
在 SSH 服务器中配置公钥
通过 SFTP 将公钥复制到 SSH 服务器

put publicy_key
Run Code Online (Sandbox Code Playgroud)
登录 SSH 服务器验证复制的公钥

ls -l public_key
Run Code Online (Sandbox Code Playgroud)
由于公钥没有任何权限,改成400(用于读取)

chmod 400 public_key
Run Code Online (Sandbox Code Playgroud)
使用 ssh-keygen 工具创建 openSSH 格式的公钥

ssh-keygen -if public_key > public_key_openssh_format
Run Code Online (Sandbox Code Playgroud)
将创建的 openSSH 公钥添加到 authorized_keys 文件中

cat public_key_openssh_format >> ~/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)
检查.ssh文件夹和authorized_keys文件的权限以获取访问权限

ls -al ~/.ssh
Run Code Online (Sandbox Code Playgroud)
使用 PuTTY 验证密钥对
现在,可以使用 PuTTY 验证基于密钥的身份验证。输入主机名和端口

选择私钥 (.ppk)

确认安全警报

如果配置正确,连接将建立成功

如果你还是卡住了。然后您必须重新创建用户并按照步骤再次配置公钥。
可以使用以下命令重新创建用户:
复制用户文件夹并在重新创建之前将其删除。
yast2 users add username=userName cn=" User for test" password="password" gid=100 grouplist=dialout,video type=local
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32073 次 |
| 最近记录: |