我正在尝试使用密钥文件而不是用户名/密码来设置 ssh 身份验证。客户端是运行 PuTTY 的 Windows 机器,服务器是 Ubuntu 12.04 LTS 服务器。
我下载了 puttygen.exe 并让它生成了一个密钥对。在/etc/ssh/sshd_config
我有这一行:
AuthorizedKeysFile %h/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)
在我客户的公钥文件上,它说:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "my@email.address.com"
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAr3Qo6T5XU06ZigGOd3eKvfBhFLhg5kWv8lz6
qJ2G9XCbexlPQGanPhh+vcPkhor6+7OmB+WSdHeNO652kTofnauTKcTCbHjsT7cJ
GNrO8WVURRh4fabknUHPmauerWQZ6TgRPGaz0aucU+2C+DUo2SKVFDir1vb+4u83
AV1pKxs=my@email.address.com
---- END SSH2 PUBLIC KEY ----
Run Code Online (Sandbox Code Playgroud)
我将部分从“ssh-rsa AAA”复制到“my@email.address.com”并将其放入~/.ssh/authorized_keys
我的服务器上的文件中(在我自己的主文件夹中)。在连接 > SSH > Auth 下的 PuTTY 中,我输入了它在我的客户端上生成的私钥的路径并保存了会话设置。
我重新启动了 ssh 服务器
sudo service ssh restart
Run Code Online (Sandbox Code Playgroud)
现在,如果我在 PuTTY 中加载配置文件(我验证了私钥仍在连接 > SSH > Auth 中并且路径正确)并运行配置文件,它会说
Server refused our key
Run Code Online (Sandbox Code Playgroud)
我尝试将公钥放在目录下的文件中, ./ssh/authorized_keys/
但这没有帮助,所以我将其./ssh/authorized_keys
用作文件,将密钥粘贴在其中。我还尝试在服务器上生成一个私钥/公钥对,将公钥放入./ssh/authorized_files
并在我的客户端的 PuTTY 中加载私钥。重新启动服务器也没有帮助。 …
我在 Ubuntu 12.04 上有一个可用的 OpenVPN 系统,我想添加 Google Authenticator 以提高安全性。
这是我当前的 openvpn 配置:
开发屯 原始UDP 端口 1096 ca ubserv04-ca.crt 证书 ubserv04.crt 密钥 ubserv04.key dh dh1024.pem 服务器 10.10.0.0 255.255.255.0 推“重定向网关def1” 推送“路由 192.168.0.0 255.255.255.0” 推送“dhcp-option DNS 8.8.8.8” 推送“dhcp-option DNS 8.8.4.4” 漂浮 日志附加/var/log/openvpn-otp-1096-status.log
(这只是一个测试设置,我知道我应该改变它的某些方面,但现在有效。)
在客户端我有:
开发屯 客户 原始UDP 远程 my.server.fqdn 1096 解决重试无限 ca ubserv04-ca.crt 证书用户1.crt 密钥 user1.key 动词 3
上述设置工作正常:没有错误,快速,稳定。
我已经尝试了几种方法来让 Google Authenticator 运行,但我最终每次都解决了这些文章中的附带问题。我不想针对服务器的本地用户/密码数据库进行身份验证,只是我已经拥有的系统加上 Google Authenticator。
我正在运行 Google 身份验证器;我使用 apt-get install libpam-google-authenticator 安装了它,并且之前使用过它来验证 ssh 会话。效果很好,但我现在已禁用它,因为它只是一个测试服务器,并且该特定测试已完成。
请具体点。我知道我应该在服务器的 ovpn 配置中添加一个插件,并且应该向 /etc/pam.d/openvpn添加一些东西,但究竟是什么?
任何帮助将不胜感激!
/额外信息
我已经关注了这篇文章: …
我试图建立基于密钥认证的ssh我的Ubuntu 12.04服务器上以下这个教程,并认为。
它并没有真正起作用,但我还有另一个问题使我变慢,那就是我无法重新启动 ssh 服务。
我可以毫无困难地通过 ssh 连接到服务器。如果我这样做了,ps aux | grep -i "ssh"
我可以看到 sshd 进程,但如果我这样做了,service sshd restart
我会得到“sshd 无法识别的服务”。我可以重新启动 ssh,但我认为它是客户端,而不是服务器。
如果我在 Google 上搜索“sshd 无法识别的服务”,我就会了解有关 ssh 连接故障排除的所有信息,但这不是我的问题。
我尝试清除并重新安装 openssh-server,但没有效果。
如果该服务不存在,如何重新启动 sshd 服务?