标签: key-authentication

是否可以为给定远程服务器上的每个帐户使用一个 SSH 密钥?

假设我在名为SERVER的服务器上有多个帐户。我们姑且称之为帐户1帐户2ACCOUNT3

假设我不想每次从本地计算机DESKTOP ssh 进入这些帐户之一时都必须输入该帐户的密码。

显然,我可以使用单个 ssh 密钥对来允许自己无密码登录所有三个帐户,但是是否可以为每个帐户使用不同的 ssh 密钥对?

ssh key-authentication

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

如何使用密钥文件进行 ZFS 整盘加密?

有没有人有使用密钥文件的工作实现,最好在 SD 卡上,而不是 ZFS 的提示?我知道如何使用 linux LVM/LUKS 做到这一点。在我看来,FreeBSD 全盘加密解决方案更安全,但我真的很想使用密钥文件而不是在启动时收到提示。

我找不到用 google-magic 做到这一点的方法。

zfs bsd encryption key-authentication

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

SSH 公钥适用于 root 但不适用于用户

可能重复:
为什么我仍然收到带有公钥身份验证的 ssh 的密码提示?

我正在设置远程服务器。该sshd配置为仅使用公钥。远程机器上有两个相同的帐户.ssh/authorized_keys,因此我可以使用相同的密钥登录。两者之一是 root,当我尝试时:

ssh -i /path/to/privatekey root@remote.server
Run Code Online (Sandbox Code Playgroud)

我进去,没问题。但是,当我尝试其他(非特权)用户时:

ssh -i /path/to/privatekey bob@remote.server
Run Code Online (Sandbox Code Playgroud)

它失败。 -v显示:

debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /path/to/privatekey
debug1: Authentications that can continue: publickey
debug1: Trying private key: /path/to/privatekey
**debug1: key_parse_private_pem: PEM_read_PrivateKey failed**
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/path/to/privatekey': 
Run Code Online (Sandbox Code Playgroud)

成功登录 root@server 时不会出现星号行。这也很奇怪,因为ssh-agent已经有了这个密钥的密码;我没有被问到 root@server 登录名。失败的 …

key-authentication sshd

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

net.ipv4.conf.all.mc_forwarding:为什么我的访问被拒绝?

在 Debian 12.04 LTS 上

我正在尝试net.ipv4.conf.all.mc_forwarding通过执行以下操作来访问密钥:

须藤 sysctl -w net.ipv4.conf.all.mc_forwarding=1

但每次我这样做时,我都会收到消息

错误:对密钥“net.ipv4.conf.all.mc_forwarding”的权限被拒绝

为什么我会收到这条消息?如何更改此密钥?

encryption key-authentication multicast linux-kernel

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

如何确定哪个 SSH 密钥文件用于验证登录?

我们有一个托管的 CentOS 6.5 服务器,其中有一个用户帐户。该帐户已配置为对需要访问它的用户使用 SSH 密钥文件身份验证。

我希望能够看到使用哪个密钥文件来验证每次登录;有效地告诉我哪个最终用户登录到单个 unix 用户帐户。是否有这样做的机制?

ssh authentication logs key-authentication

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

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万
查看次数

在 Tmux 中请求 SSH 密码

当我连接到远程机器时,我使用 rsa 密钥进行身份验证(我认为是 rsa,不记得了)。

如果我从常规 shell 执行 ssh,我会在没有密码的情况下登录机器。但是,如果我从 tmux 中执行 ssh,我会被要求输入密码。

在 tmux 中我被要求输入密码并且不使用 ssh 密钥有什么不同?我怎样才能不从 tmux 中输入密码?

password ssh tmux key-authentication ssh-agent

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

OpenSSH 如何确定选择主机密钥算法?

更新 raspbian 及其所有库后,我注意到 SSH 有所不同。当我删除家中的“已知主机”文件并通过 ssh 进入我的盒子时,它会像往常一样为我提供主机公钥,但是这次我看到:

ecdsa-sha2-nistp256 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)

我发誓几个月前它总是给我一个 RSA 密钥类型。为什么会发生这种变化,服务器如何决定 /etc/ssh/ 中的哪个公钥指纹让用户连接?

ssh --version在客户端 linux mint 18 机器输出OpenSSH_7.2p2 Ubuntu-4ubuntu1, OpenSSL 1.0.2g-fips 1 Mar 2016和主机输出OpenSSH_6.7p1 Raspbian-5+deb8u3, OpenSSL 1.0.1t 3 May 2016

ssh openssh key-authentication

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

SSH 与 Cron:不接受 RSA 密钥

我正在尝试让 ssh 工作cron,似乎我已经尝试了所有标准技巧,但完全没有运气。我可以通过使用运行非交互式 ssh

>./some_script_with_ssh
Run Code Online (Sandbox Code Playgroud)

在 bash 中。只有当我尝试使用它时cron它才会失败。我能得到的任何帮助将不胜感激。

以下是类似问题中要求的一些数据:

我的用户的 crontab

PATH = /home/zach/.ssh/:/usr/bin
52 * * * * ssh -vvv my_account@my_remote "touch temp.temp"
Run Code Online (Sandbox Code Playgroud)

从电子邮件 cron 发送给我的打印输出

OpenSSH_7.3p1 Ubuntu-1, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "my_remote" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to my_remote [IP_HERE] port 22.
debug1: Connection established.
debug1: identity file /home/zach/.ssh/id_rsa type 1
debug1: key_load_public: No such …
Run Code Online (Sandbox Code Playgroud)

ssh cron ubuntu key-authentication

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

dropbear ssh 服务器不允许我连接

我正在尝试通过 ssh 访问我的路由器。目前我只有 telnet 访问权限,我安装了 dropbear 并且正在运行(在连接到路由器的 USB 驱动器上使用 opkg)。

从一开始,我所做的是生成一个私钥并将其解密(因为 dropbear 尚不支持此功能)和公共密钥:

cd .ssh
openssl genrsa -des3 -out id_rsa
openssl rsa -in id_rsa -out id_rsa
ssh-keygen -y -f id_rsa > authorized_keys
Run Code Online (Sandbox Code Playgroud)

我将公钥 ( authorized_keys)上传到/root/.ssh. 我将文件放在 Apache 服务器上(在我的本地计算机中)并使用 wget 将其下载到路由器上(因此下载的文件以所有者/组的身份获取),然后将权限更改为 0600(与客户端相同,但与我的用户)。

当我尝试访问时,它给了我一个“权限被拒绝(公钥)”错误:

$ ssh -v -i ~/.ssh/id_rsa root@192.168.1.1
OpenSSH_7.4p1, OpenSSL 1.0.2j  26 Sep 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 192.168.1.1 [192.168.1.1] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: …
Run Code Online (Sandbox Code Playgroud)

linux ssh key-authentication openwrt dropbear

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