ssh 密钥是否可以供家庭用户使用

ssh 密钥是否可以供家庭用户使用

我目前正在运行 linuxmint 和 openssh。我的电脑上有 2 个帐户 Joe 和 Bob。我将 joe 创建的密钥和密码存储在 /home/joe/.ssh/ 文件夹中。我可以使用 ssh/sftp 连接到 Joe。但我无法连接到 Bob。我的问题是,即使两个帐户都在同一台机器上,我是否必须为 Bob 创建一组新密钥才能连接到他?此外,我曾尝试为 sftp 用户 chroot jail(子系统 sftp internal-sftp)尝试使用它时,我被锁定在两个帐户之外。当我使用密码而不是密钥密码时,它起作用了。

谢谢

答案1

我可以使用 ssh/sftp 连接到 Joe。但无法连接到 Bob。

我的看法是:Joe 有公钥,并且把它放在一个authorized_keys文件中,而 Bob 没有

我的问题是,即使两个帐户都在同一台机器上,我是否必须为 Bob 创建一组新密钥才能连接到他?

您可以将公钥复制到 Bob 的 authorized_keys 文件中。尝试ssh-copy-id bob或编辑 Bob 上的 /home/joe/.ssh/authorized_keys。

为了使 SSH 密钥能够工作,HOME 目录的权限必须拒绝组和“其他人”的写入,因为.ssh目录写入权限可以控制该目录,因此可以重命名并重新创建该目录。

我还尝试过将 sftp 用户 chroot jail(子系统 sftp internal-sftp)当我尝试使用它时,我被锁定在两个帐户之外。当我使用密码而不是密钥密码时,它起作用了。

听起来你想用scponly在 APT 中,请尝试apt-get install scponly

答案2

为了使用 SSH 登录到远程计算机上的用户帐户,您需要该帐户的公钥位于~/.ssh该帐户的目录中,并且您需要与公钥匹配的私钥位于~/.ssh您尝试连接的本地计算机上的目录中。

您可以使用-i选项来ssh明确指定除默认私钥文件之外的其他文件~/.ssh

您可以为任意数量的用户使用相同的私钥和公钥对。但是,密钥必须匹配,也就是说必须以一对的形式创建。如果您丢失了私钥,则无法恢复公钥。如果您丢失了公钥,您可以使用命令从私钥重新生成公钥openssl

您可以将允许登录帐户的其他用户的公钥放入其中~/.ssh/authorized_keys

除了在远程计算机上有私钥文件外~/.ssh,阻止您登录的最常见错误是文件权限。请确保您的目录权限不超过 700,并且~/.ssh任何私钥上的文件权限不超过 400。id_dsaid_rsa

相关内容