一只笨鸟在实现ssh免密码登录的足迹
2015-12-16 14:55
501 查看
自太阳从东边升起以来,我就发现每逢我在电脑上安装配置些东西的时候,都会来点小插曲。这是故意整我吗?
好了,上我从头给大家说说实现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里就行了。
写这些就是想帮助大家,给大家省点时间,有些人说的太笼统,一点也不仔细,坑了太多人!希望对大家有帮组!
好了,上我从头给大家说说实现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里就行了。
写这些就是想帮助大家,给大家省点时间,有些人说的太笼统,一点也不仔细,坑了太多人!希望对大家有帮组!
相关文章推荐
- Android Studio添加assets文件夹
- zzulioj--1778-- 和尚特烦恼4——有多少战斗力(gcd)
- Deployment on Tomcat startup
- hdu1455Sticks【深搜剪枝】
- Spring AOP 基础
- [Coursera]算法基础_Week9_考试_Q7
- Ajax Events
- java设计模式----单例模式
- CardView使用
- android - Activity启动模式
- 实验课程表
- 实验三同学互评
- 一个页面有多个ng-app 注意几点
- PopupWindow思路和显示方式的详解
- 【Python 1】函数模块
- 混战在帝都的妹纸一枚,整理于Github上的工具合集
- Android Studio导入recyclerview,cardview
- Android5.0练习
- TinyOS论文11:Sentomist
- 【js小方法】提交表单是,判断单选框是否被选中