如何在两个不同帐户

时间:2016-03-23 06:30:21

标签: linux ssh ssh-keys system-administration password-less

我们可以在两台机器中的两种不同用途之间设置密码减去认证。

例如:计算机A有用户A,计算机B有用户B. 我们可以使用他的用户帐户(A)设置密码ssh,即用户A从计算机A登录到计算机B.

谢谢!

1 个答案:

答案 0 :(得分:1)

如果我理解您的问题,您是否可以设置ssh-keys以允许用户A 用户B 登录到两台不同的计算机 A &安培; B 没有提供密码?当然,用户A 无法通过ssh登录用户B 的帐户用户A 可以登录用户B 在本地计算机上的帐户。 ($HOME等的目录所有权不同。这就是su的用途。

要创建密码少登录,让我们带用户A 计算机A 谁拥有计算机B 上的帐户,并希望{ {1}}并在不提供密码的情况下登录。

(1)用户A使用ssh hostnameB计算机A 上创建 public_key private_key (对于ssh-keygen -t ecdsa加密密钥,由于当前openssh中的不安全性,不再支持ecdsa个密钥。运行dsa时,它将创建两个文件(默认情况下为ssh-keygen)。密钥是$HOME/.ssh(私钥)和id_edcsa(公钥)。

(2) 用户A 在没有密码的情况下登录计算机B ,他必须首先转移他的 public_key 计算机B 并将其添加到计算机B 上的id_ecdsa.pub文件中。例如来自计算机A

$HOME/.ssh/authorized_keys

注意:,如果您确定尚未存在计算机B $ ssh-keygen -t ecdsa # generate key-pair $ cd ~/.ssh # verify private and public keys created $ rsync -a id_ecdsa.pub hostnameB:~/.ssh/id_ecdsa.pub.hostA password: enter pw $ ssh hostnameB password: enter pw $ cd ~/.ssh $ cat id_dsa.pub.hostA >> authorized_keys # permissions must be 0600 $ exit # exit hostnameB 文件,则可以rsync节省时间完全跳过最后一步将传输的文件复制到上面。 e.g。

~/.ssh/authorized_keys

(您可能必须事后检查计算机B 的权限)

现在进行测试,用户A 不再需要密码才能进入计算机B 。来自计算机A

$ rsync -a id_ecdsa.pub hostnameB:~/.ssh/authorized_keys

现在,您只需重复为每个用户创建密钥对的过程,并将 public_key 传输到您要访问的主机,无需密码,并添加 public_key authorized_keys 文件。 (注意:您可以将相同的 private_key 复制到每个人的$ ssh hostnameB $ welcome to hostnameB> 目录,并将相同的 public_key 添加到每个人的~/.ssh文件中,但是那种击败了拥有单独密钥的目的)。 注意:每个~/.ssh/authorized_keys文件必须由拥有authorized_keys目录的用户拥有,文件权限必须为$HOME/.ssh0600)或{ {1}}不允许连接。

这就是它的全部内容(您可以登录-rw-------以确保sshd文件的名称未被更改为其他内容。

尝试一下,如果您有疑问,请告诉我。我完成了数百次 - 只要您遵守这些规则就没有问题。