标签: key-authentication

身份验证被拒绝:目录 /root 的所有权或模式错误

我正在尝试通过 SSH 连接到装有 Debian 的远程 VPS。在调试模式下运行 sshd,我发现:

Authentication refused: bad ownership or modes for directory /root
Run Code Online (Sandbox Code Playgroud)

我尝试设置权限,就像我在谷歌中找到的那样:

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)

但它仍然拒绝使用 pubkey 进行身份验证并要求输入密码,并在调试中显示相同的消息。我究竟做错了什么?

ssh permissions key-authentication sshd

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

一旦禁用基于密码的登录,是否可以使用 ssh-copy-id?

一旦禁用基于密码的登录,是否可以使用 ssh-copy-id?否则,是否有用于向用户添加授权公钥的实用程序,还是应该~/.ssh/authorized_keys手动编辑文件?

ssh key-authentication

14
推荐指数
1
解决办法
5237
查看次数

使用 SSH 处理无密码帐户的一致且安全的方法

我必须承认,在某些情况下,我喜欢没有密码的服务器。一个典型的服务器容易受到任何物理访问它的人的攻击。因此,在某些情况下,物理锁定它是可行的,然后信任任何物理访问。

基本概念

从理论上讲,当我实际到达这样的服务器时,我应该能够通过简单地输入root登录名来执行没有密码的管理任务,并且不应该要求我输入密码。这同样适用于用户帐户,但人们不会真正以物理方式访问它们。因此(偶尔)本地访问不需要系统密码。

在远程访问服务器时,无论是出于管理目的还是用户帐户,我都希望始终使用 SSH 私钥。为刚创建的帐户设置 SSH 密钥非常容易,因此(常规)远程访问不需要系统密码。

# user=...
# 
# useradd -m "$user"
# sudo -i -u "$user"

$ keyurl=...
$
$ mkdir -p .ssh
$ curl -o .ssh/authorized_keys "$keyurl"
Run Code Online (Sandbox Code Playgroud)

结论是,理论上,对于这样的用例,我们不需要任何系统密码。所以问题是,我们如何配置系统和用户帐户以使其以一致且安全的方式发生。

本地访问详情

我们如何确保无需密码即可在本地访问 root 帐户?我不认为我们可以使用,passwd -d因为这会使 root 访问过于宽松,非特权用户可以免费切换到 root,这是错误的。我们无法使用,passwd -l因为它会阻止我们登录。

请注意,本地访问仅与使用本地键盘的访问有关。因此,有效的解决方案必须不允许任何用户切换(无论是使用susudo)。

远程访问详情

直到最近,上述解决方案还可以使用,但现在 SSH 开始检查锁定的用户帐户。passwd -d出于同样的原因,我们可能无法使用。我们不能使用,passwd -u因为它只是抱怨它会导致什么passwd -d

这部分有一个使用虚拟密码的解决方法。

user=...

echo -ne "$user:`pwgen 16`\n" …
Run Code Online (Sandbox Code Playgroud)

security password login ssh key-authentication

13
推荐指数
1
解决办法
3423
查看次数

权限被拒绝(publickey、gssapi-keyex、gssapi-with-mic)

好的,所以我已经尝试了很多次,我确定这非常简单,但是:我正在尝试通过 Ubuntu 上的命令行使用我使用 key-gen 创建的 RSA 密钥对通过 SSH 连接到我的 VM(Centos6) .

我已经创建了密钥对并将公钥附加到 authorized_keys 文件并将权限更改为600. 在我将私钥 SCP 到 Ubuntu 并尝试使用它 SSH 后,我总是得到:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Run Code Online (Sandbox Code Playgroud)

我已经尝试了 3 次,但没有运气。我可以 ping 它,但我似乎无法弄清楚为什么它没有拿走我制作的钥匙。有什么建议?

ubuntu centos key-authentication

13
推荐指数
2
解决办法
9万
查看次数

如何使无密码登录工作

我生成了一个密钥并将其复制到我的目标:

ssh-keygen
ssh-copy-id username@hostname
Run Code Online (Sandbox Code Playgroud)

我将密钥的位置保留为默认值,并且没有设置任何密码。

在那之后的一小段时间里,我能够在ssh username@hostname没有被提示输入密码的情况下,由于某种原因它停止工作。

ssh key-authentication

12
推荐指数
1
解决办法
5063
查看次数

多个 SSH 私钥,可能吗?

是否可以在单个客户端中拥有多个 SSH 密钥,并让 ssh 自动选择正确的密钥?

ssh key-authentication

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

给定一个 SSH 私钥,我该如何恢复我的公钥?

我不知何故丢失了我的id_rsa.pub文件。我还有我的id_rsa档案。如何从私钥恢复公钥?

(这个问题是在ssh-copy-id报告“错误:未找到身份”而ssh-keygen报告“/root/.ssh/id_rsa已经存在”之后出现的。ls ~/.ssh指出问题是有id_rsa但没有id_rsa.pub。我找到了解决方案,但它被埋在了底部Ubuntu 支持论坛上的一篇长篇文章。)

ssh key-authentication

11
推荐指数
1
解决办法
3240
查看次数

使用 SFTP 限制无密码备份

我需要使用 Duplicity 将服务器备份到我的计算机:

duplicity /etc sftp://backup@my.dynamic.ip.address//home/backup
Run Code Online (Sandbox Code Playgroud)

在此之前,我需要通过执行以下操作来允许无密码访问:

$ ssh-keygen
$ ssh-copy-id backup@my.dynamic.ip.address
$ ssh backup@my.dynamic.ip.address
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何在生成的公钥中将命令限制为仅此 SFTP 传输?

command="restrict to sftp",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA…

并且由于我使用的是动态 IP 地址,因此每次 IP 更改时我如何克服“丢失已知主机”的问题?

ssh sftp account-restrictions key-authentication

11
推荐指数
1
解决办法
7686
查看次数

通过`ssh-copy-id`中的stdin发送密码

我需要自动化一些身份部署,最好使用ssh-copy-id.

我正在尝试通过 stdin 提供密码,这可以ssh通过使用-S标志来实现。我知道,我可以给额外的选项来ssh使用-o的标志ssh-copy-id。然而有此标志的没有使用的例子在手册页命令。

所以我尝试ssh-copy-id使用以下方法通过 stdin传递 SSH 密码:

$# echo $TMP_PASS | ssh-copy-id -p2222 -i key.pub user@host -o "-S"
Run Code Online (Sandbox Code Playgroud)

但我得到的只是:

/bin/ssh-copy-id: ERROR: command-line: line 0: Bad configuration option: -s
Run Code Online (Sandbox Code Playgroud)

编辑:

我正在尝试通过 stdin 提供密码,这可以 ssh通过使用-S标志来实现。

这个说法是错误的。我实际上已经从sudo男人那里读到了这面旗帜;

ssh pipe key-authentication

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

尽管 .ssh/authorized_keys ssh 提示输入密码

我发出ssh username@db2workgoup -n "echo `cat ~/.ssh/id_dsa.pub` >> ~/.ssh/authorized_keys"然后检查密钥是否存储在authorized_keys文件中。但是 ssh 仍然要求输入密码。我在我们公司的其他服务器上使用了同样的方法,没有任何问题。

有人可以帮助我在没有密码提示的情况下 ssh 吗?

  • 来自 OSX 的 ssh
  • ssh 到 openSUSE 11.2 (x86_64)
  • 权限适用于 home 目录、.ssh 目录和 authorised_keys 文件 700 或更少

/var/log/messagesec 9 11:09:53 db2workgroup automount[3506]: update_negative_cache: key ".user.ini" not found in map.从我尝试登录时起就有条目。

输出 ssh -vvv

radek:~ radek$ ssh -vvv root@db2workgroup
OpenSSH_5.2p1, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh_config
debug2: ssh_connect: needpriv 0
debug1: Connecting to db2workgroup [10.0.0.22] port 22.
debug1: Connection …
Run Code Online (Sandbox Code Playgroud)

ssh key-authentication

10
推荐指数
2
解决办法
3万
查看次数