SSH 自动登录不同的用户名

SSH 自动登录不同的用户名

我正在尝试在 Raspberry PI (raspbian Jesse) 上使用 rsa 密钥设置 ssh 自动登录。我发现的几乎所有内容都说要在本地机器 (ssh-keygen) 上创建密钥,将公钥附加到远程的 .ssh/authorized_keys 文件,并确保该文件的权限设置为 640 或 600。

我已完成所有操作,但在 ssh 时仍然会提示输入密码。

我在当地的以用户 foo 身份登录计算机:

~$ cd .ssh
~/.ssh$ ssh-keygen -t rsa (hit enter through all the prompts)
~/.ssh$ cat id_rsa.pub | ssh [email protected] 'cat >> .ssh/authorized_keys'
[email protected]'s password: //prompted here

我从另一个已经通过 ssh 连接到远程的终端验证了 foo 的公钥已附加到 bar 的 authorized_keys 中。

尝试从新终端以用户 foo 的身份通过 ssh 连接到远程用户 bar 的身份。

~$ ssh [email protected]
[email protected]'s password: //prompted here

自动登录不起作用。所以我找到了这个网站http://www.rebol.com/docs/ssh-auto-login.html。按照说明操作,它就可以正常工作。但这听起来与我的想法相反。该网站说要在遥控器上创建密钥,并将公钥附加到遥控器的 authorized_keys 文件中,然后将遥控器的私钥下载到本地计算机并将其用作身份文件。

对吗?为什么有人想将私钥复制到另一台机器上?我认为私钥应该留在为其创建的机器上并受到保护。

以下是链接页面移动时的说明

On server:

cd .ssh
ssh-keygen -t rsa  (hit return through prompts)
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
rm id_rsa.pub

On client:

cd .ssh
scp myserver.com:.ssh/id_rsa myserver.rsa
chmod 600 myserver.rsa
echo "Host myserver" >> config
echo "Hostname reblets.com" >> config
echo "IdentityFile ~/.ssh/myserver.rsa" >> config

答案1

第二种方式(稍微)不太安全,因为私钥存在于不需要的地方 - 但两者的作用相同。

我想知道您是否遇到了 selinux + Redhat/Centos 错误 - 通常需要使用 yum upgrade 升级 Centos,然后重新标记文件系统(重新标记修复文件或类似操作)。您可以通过暂时禁用 selinux 来检查是否是此问题。

相关内容