ssh免密码登录配置

假设两台主机为master和slave,两台主机中要做ssh链接的两个用户名最好相同,否则在之后ssh链接时会比较蛋疼。下面是修改主机名的操作步骤

首先注销掉需要修改用户名的用户(!!必须注销掉),然后最好ctrl+alt+f1进入纯命令行操作,登录root用户,按照顺序做如下操作

passwd 原名字

设置新的密码

chfn -f 新名字 原名字

usermod -l 新名字 -d /home/新名字 -m 原名字

groupmod -n 新名字 原名字

然后重启就ok了。

下面进入正题:

1 首先分别把两台主机安装上openssh-server,执行如下命令即可:

sudo apt-get install openssh-server

2 在两台主机分别创建sshkey,步骤如下

ssh-keygen -t rsa

ps:ssh和-keygen之间是没有空格的,没有,没有,重要的事要说三遍,初学者很容易看错了。

 

一直回车就行了,如下图

进入/home/hadoop下就会产生一个新目录,叫.ssh,进入该目录ls就会发现有两个文件,id_rsa和id_rsa.pub,前者为私钥,后者为公钥

两台主机分别把自己的公钥发给对方,命令如下:

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@192.168.8.94

其中,hadoop为对方的要执行ssh链接的用户名,192.168.8.94是对方主机的ip地址,我在hosts中做了配置,也可以用配置后的别名,如下图:

中间输入的密码是对方主机用户的密码。

如果分别在两台主机执行了以上操作,就会发现,两台主机的.ssh/目录下多出了一个文件authorized_keys。

然后就可以通过如下ssh命令链接到对方了

ssh hadoop@192.168.8.94

然后关键来了,我最先说的最好设置成相同的用户名,如果两个主机用户名相同,那么可以直接通过 ssh 对方ip  访问。如下:

  

如果想退回就执行exit命令。

遇见的错误:执行ssh链接的命令后,显示如下一行提示,并且需要输入对方密码才能ssh访问

 agent admitted failure to sign using the key

解决方法:在本机执行如下命令就可以解决了

ssh-add

 

posted @ 2017-07-10 11:23  K_artorias  阅读(16968)  评论(0编辑  收藏  举报