如何设置两个不同账户之间的无密码验证

问题描述:

我们可以在两台机器的两种不同用途之间设置密码减少验证。如何设置两个不同账户之间的无密码验证

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

谢谢!

+0

谷歌搜索你的问题_如何设置两个不同帐户之间的无密码认证_我找到了一百个优秀的教程。为什么你更喜欢问和等待为答案**而不是做一个最小的研究**? –

如果我理解你的问题,你可以设置ssh-keys允许用户A用户B登录到两个不同的计算机一个&乙无需提供密码?当然,但用户A无法登录到用户B“通过SSH账户的任何超过用户A可以登录到用户B的帐户在本地计算机上。 (目录所有权是不同的$HOME等,这就是su是)。

要创建一个密码登录少,让我们用户A计算机中的谁拥有B计算机一个帐户,并想ssh hostnameB和登录无需提供密码。

(1)用户A 计算机上创建一个PUBLIC_KEYPRIVATE_KEYssh-keygen -t ecdsa(对于ecdsa加密密钥。dsa密钥不再支持由于在当前的OpenSSH不安全)。当运行ssh-keygen时,它将创建两个文件(默认为$HOME/.ssh)。密钥是id_edcsa(私钥)和id_ecdsa.pub(公钥)。

(2)用户A登录到B电脑没有密码,他必须首先他PUBLIC_KEY转移到B计算机并将其添加到他的$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的PUBLIC_KEY目录到B电脑~/.ssh/authorized_keys文件,如果你确定一个已经不存在,以节省时间,完全跳过最后一步将传输的文件复制到上面。例如

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

(您可能需要对B计算机事后检查权限)

现在的测试,用户A不再需要密码才能长成了B计算机。从计算机中的

$ ssh hostnameB 
$ welcome to hostnameB> 

现在你只是重复要访问W/OA密码生成密钥对每个用户和PUBLIC_KEY传输到主机的程序,并加入PUBLIC_KEYauthorized_keys文件。 (注意:您可以将相同的private_key复制到所有人的~/.ssh目录中,并将相同的public_key复制到每个人的~/.ssh/authorized_keys文件中,但这种做法违背了单独密钥的目的)。 说明:每个authorized_keys文件必须属于拥有$HOME/.ssh目录的用户,文件权限必须为0600-rw-------)或sshd将不允许连接。

这是所有有给它(你可以在/etc/ssh/sshd_config检查,以确保authorized_keys文件的名称尚未更改为别的东西。

给它一个尝试,让我知道,如果你有问题。我做它数百次 - 没有问题,只要你遵循这些规则

+0

谢谢..这是非常明确和明确的... – UtpMahesh

+0

很高兴它有帮助,这是相当SIM卡一旦你做了一两次,但第一次搞清楚可能会很困难(尤其是考虑到网络上出现很多写得不好的例子) –