标签: public-key-authentication

SSH:“服务器拒绝我们的密钥”没有理由

我试图设置一个简单的备份脚本来自动运行,它可以通过 SSH 将文件从 Windows 机器复制到 Linux 机器。

正如许多简单的在线教程所建议的那样,我使用pscp了生成的私钥puttygen,并将相应的公钥(由 putty 本身以复制/粘贴形式呈现)放置authorized_keys在 Linux的文件中。考虑到它可以在其他 2 台 Windows 机器和具有相同配置的不同 Linux 机器上工作,这似乎非常简单。

考虑到我能够以 root 身份登录到 Linux 机器,AFAICS 没有连接问题,ssh 也是如此。配置文件 ( sshd_config)AuthorizedKeysFile设置为~/.sshd/authorized_keys.

错误“服务器拒绝了我们的密钥”不断出现,无论我做什么......日志没有显示任何身份验证问题......

我打算做更多的测试并将logLevel值设置为VERBOSEor DEBUG23但考虑到问题的紧迫性以及为了在机器上实际测试它我必须经历很多麻烦考虑到机器处于离我实际工作地点很远的地方......

问题

  • 有没有人有任何想法?
  • 有没有人遇到过这种情况?

看起来这实际上可能是与 ssh 版本或类似问题有关的问题...

我还考虑了我需要将公钥插入authorized_keys到用户.ssh目录 ( /user/.ssh/)内的文件中的可能性,除了将它放在 root 的文件夹中(因为AuthorizedKeysFilein的值没有多大意义sshd_config)。

我已经对 ssh 服务器的LogLevelset o进行了一些测试,VERBOSE但我无法检索信息(责任问题),所以这里改为来自另一个来源的输出/调试日志,该日志似乎显示相同的错误...

Connection from 192.168.0.101 port 4288 …
Run Code Online (Sandbox Code Playgroud)

ssh putty key-authentication puttygen public-key-authentication

6
推荐指数
3
解决办法
5万
查看次数

Centos 6.5 无法使用公钥登录并且登录是 sloooooow

我用 CentOS 6.5 设置了一个新系统。我复制了我的公钥:

ssh-copy-id root@192.168.1.202
Run Code Online (Sandbox Code Playgroud)

显示密码提示花了 15 秒多的时间,但随后它被复制了。

但是ssh到 root@192.168.1.202 仍然要求输入密码。目录的权限.ssh700和 文件.ssh/authorized_keys 600(所有者和组)root。这与运行 Debian 的服务器上的公钥登录工作相同。

没有明显的东西sshd_config我可以看到需要改变。

如何自动化公钥登录?如果这是固定的,这是否有助于加快登录速度?

ssh centos public-key-authentication

6
推荐指数
1
解决办法
2906
查看次数

SSH 公钥不起作用;我的主目录已加密

我在远程计算机上安装了 Ubuntu LTS 14.04 服务器版,并在远程计算机上添加了我的本地公钥~/.ssh/authorized_keys。我发现我还是需要使用密码登录远程计算机,即使在远程计算机上设置~/.ssh为700和~/.ssh/*600的权限后。但是,一旦我登录,我就可以开始使用公钥对其他 ssh 会话进行授权。

我的主目录是加密的。

我怎样才能解决这个问题?

ssh home ecryptfs public-key-authentication

6
推荐指数
1
解决办法
2170
查看次数

SSH 公钥认证 - 仅在物理登录后有效

我正在尝试使用公钥身份验证通过 SSH 连接到我的 ubuntu 服务器。由于某些原因,我收到“权限被拒绝(公钥)”。在客户端,每当我执行

ssh -i ~/.ssh/id_rsa <username>@<ip> -p <port>.

我服务器上的 auth.log 有以下输出:

sshd[1425]: Connection closed by <client-ip> [preauth]

但是,一旦我使用相同的用户名在我的服务器上实际登录,来自我的客户端的以下 ssh 连接就会成功。但是,一旦我以物理方式注销,来自客户端的下一个 ssh 会话就会失败。

/etc/ssh/sshd_config

# What ports, IPs and protocols we listen for
Port <port>
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# …
Run Code Online (Sandbox Code Playgroud)

ssh sshd public-key-authentication

5
推荐指数
1
解决办法
6409
查看次数

ssh 公钥身份验证不起作用

我设置了我的密钥,这样我就可以在机器之间进行 ssh,而无需输入密码,一切都正常工作了一段时间,但突然间,我在某些机器上被提示输入密码。我验证了密钥 - 一切似乎都没问题。我运行了 ssh -v,这是输出。据我所知,密钥验证成功,为什么要我输入密码???

ssh XXX.XXX.XXX.XXX -v
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to XXX.XXX.XXX.XXX [XXX.XXX.XXX.XXX] port 22.
debug1: Connection established.
debug1: identity file /nethome/username/.ssh/identity type -1
debug1: identity file /nethome/username/.ssh/id_rsa type 1
debug1: identity file /nethome/username/.ssh/id_dsa type 2
debug1: loaded 3 keys
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local …
Run Code Online (Sandbox Code Playgroud)

ssh rhel public-key-authentication

5
推荐指数
1
解决办法
1万
查看次数

使用一个特定的 ssh 密钥暂时禁用登录

在我的服务器上,我在~/.ssh/authorized_keys.

我想暂时阻止/禁止/停用一键。我想阻止用户现在使用此密钥登录。但我可能想稍后重新启用它(即我不想完全删除密钥)。

正确/推荐的方法是什么?

我要不要#在行的开头在authorized_keys, 键前面加一个注释?

澄清一下,我不想阻止特定用户。一个用户帐户在几个人之间共享,每个人都使用自己的 SSH 密钥进行连接。我想阻止一个特定的 SSH 密钥。

ssh authentication openssh public-key-authentication

5
推荐指数
2
解决办法
2837
查看次数

为什么我不能在 Arch Linux 上通过 ssh 使用公钥/私钥身份验证?

我在 Ubuntu 机器上有以下设置:

~/dotfiles/authorized_keys2
~/.ssh/authorized_keys2 -> /home/wayne/dotfiles/authorized_keys2
Run Code Online (Sandbox Code Playgroud)

我在我的 Arch 机器上有相同的设置,但是当我用 -v 连接时,

debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/wayne/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
Run Code Online (Sandbox Code Playgroud)

我在 Arch Wiki 上找到了这个页面,里面有这样一行:

$ chmod 600 ~/.ssh/authorized_keys

所以我添加了另一个符号链接:

authorized_keys -> /home/wayne/dotfiles/authorized_keys2

然而,仍然没有骰子。是的,我已经确保正确的密钥存在于authorized_keys.

为什么我不能使用我的密钥连接?

编辑:

我的home 和 ssh 文件夹(和密钥文件)上的权限设置正确:

drwxr-x--x 150 wayne       family  13k Aug 27 07:38 wayne/
drwx------   2 wayne       family 4.1k Aug 27 07:24 .ssh/ …
Run Code Online (Sandbox Code Playgroud)

ssh arch-linux public-key-authentication

4
推荐指数
1
解决办法
1万
查看次数

SSH:如何在不知道密码的情况下连接密码?

简短的问题:

我有一个任务来更新 git 存储库。我收到的信息如下:主机、端口、用户名和 ssh 密钥的密码短语,其中包含密钥类型为 rsa 的信息。如何将 PC 配置为不使用密码进行连接?是否有足够的信息来做到这一点?

细节:

  • 我的操作系统:XUbuntu 14.04
  • 很明显,密码是 ssh 密钥的密码,而不是密码。
  • 我无权访问服务器。我无法~/.ssh/以任何方式对其进行配置。
  • 我没有收到钥匙本身。

长话短说/我是如何尝试解决这个问题的:

  • 去谷歌上查询。我使用ssh-keygen -t rsa输入密码生成了 ssh 密钥。然而,每次我生成一个密钥时,它都是不同的,这让我想到另一个(子)问题:是否有可能知道密码短语来获得 ssh-rsa 密钥?换句话说,我收到的信息太少了吗?(问题是我对 ssh 和密码学的了解太少,我无法在 Google 上找到这个附加问题的答案;我不知道 - 也找不到信息 - 密钥是否基于密码(就像在散列的情况下)或者它是附加信息还是次要信息(例如在带有盐的散列或类似于使用 TrueCrypt 加密的情况下,它仅使用密码加密标头,并且整个磁盘使用存储在标头中的密钥加密)。
  • 最初我尝试使用~/.ssh/config文件,但为了确认问题出在密钥内,我将其备份、清除,现在我将密钥生成到~/.ssh/id_rsa.
  • 我试图找出是否应该采取完全不同的步骤(不是使用ssh-keygen -t rsa而是通过另一种方式生成它),但是我找不到任何东西。

附加信息

  • 我还收到了一个有效的密码。我可以用它连接到 git 存储库,但我正在寻找一种只使用密钥的方法。
  • 不允许使用 ssh 连接到交互式 shell。仅支持通过 ssh 的 git。

ssh public-key-authentication

2
推荐指数
1
解决办法
439
查看次数