一只笨鸟在实现ssh免密码登录的足迹

来源:互联网 发布:牛元js防水多少钱一桶 编辑:程序博客网 时间:2024/05/16 12:30

自太阳从东边升起以来,我就发现每逢我在电脑上安装配置些东西的时候,都会来点小插曲。这是故意整我吗?鄙视好了,上我从头给大家说说实现ssh免密码登录。

我是以root身份来登录的。在用ssh登录别的服务器时,你得先知道,你也可以连接本机(localhost或者127.0.0.1)。一定要跟着以下步骤,包括目录的权限也要和我的一致哦!不一致就会连不上,本人被这个坑了好久!


前提ssh已经安装(这里不再赘述,问度娘安装方法),安装完后按以下步骤:


步骤一:看看root的家目录下有没有.ssh/文件夹,如果MEIYOU,敲入:mkdir .ssh/

步骤二:进入.ssh/文件夹,敲入:ssh-keygen -t rsa,之后闭着眼睛一路按回车,就好了(切记,一定先创建.ssh/文件夹,因为公钥等都是默认放这里的)。

步骤三:在.ssh/下将id_isa.pub复制到authorized_keys(不用创建,按我的敲入,会自动创建)下,敲入:cat id_isa.pub >> authorized_keys(>>两边各有一个空格)。

步骤四:先登录本机看看。敲入:ssh 127.0.0.1或者ssh localhost。如果有提示,输入yes。如果需要登录的密码,说明是失败的。如果直接就是welcome什么的,那就是成功的。本人在这跌倒无数次。解决的方法就是目录权限需要更改,按我的改就行了。如下图。

把根目录下的root文件夹权限设置为700(很重要)

把root下的.ssh文件夹设置为700这几个文件就按我设置的权限先暂时按我设置的改。


步骤五:我说的这些都可以在每台机器上进行,假如现在是两台机器,都可以自己和自己用ssh连接了,那么如何让这两台机器互连呢?

步骤六:先让A连接B。那么要把A机器上的.ssh/文件夹下的id_isa.pub(公钥)复制到B机器上。如下图:


在这里我也被坑了一千年,如果没遇到还好,如果不幸遇到,不要烦躁,按我下面说的做。

首先,你需要把root@10.10.10.129(这里是我另台机器的IP,你根据你的自己写)的root换成一个普通用户名。其次,把这个普通用户的家目录权限设置为777。敲入:chmod 777 /home/          如下图所示:


learn是我的一个普通用户名(你填你的),然后把id_isa.pub复制到B机器的/home/下。

步骤七:将B机器上刚传过来的id_isa.pub加入到B机器上/root/.ssh/的authorized_keys。敲入:cat id_isa.pub >> /root/.ssh/authorized_keys  如下图所示:


这里B机器也就是我的hadoop-slave。而第一个红圈代表的就是步骤三完成的,可以连到自己主机。第二个红圈代表的是A机器也就是这里的hadoop,即刚刚敲入的cat id_isa.pub >> /root/.ssh/authorized_keys而得来的。因为id_isa.pub 是A机器的公钥。authorized_keys本人理解为授权的钥匙。这样hadoop-slave就可以被hadoop所控制了。即在hadoop机器上敲入:ssh 10.10.10.129    如果有提示输入yes,之后就好了。

当然这里只能A连接B,即hadoop控制hadoop-slave。要让B连接A,从步骤六开始就好了。下图是B把公钥给了A之后,authorized_keys里的内容,与B的倒过来的。



同理,搭建集群,就是A与B,C,D...互连接。

总结一下:ssh互连无疑就是把你我的公钥给对方,并把各自的公钥放到你我的authorized_keys里就行了。

写这些就是想帮助大家,给大家省点时间,有些人说的太笼统,一点也不仔细,坑了太多人!希望对大家有帮组!奋斗





























0 0
原创粉丝点击