Linux下实现SSH免密码登录
2017-04-27 09:17
260 查看
一般Linux服务器之间通过SSH(Secure Shell)进行通讯,端口为22,在登录别的服务器(或自己)时需要输入密码,包括在Linux上搭建Hadoop伪分布启动Hadoop时需要一直输入密码。如下所示
很麻烦,一般会设置SSH免密码登录。
准备工作:
准备两台Linux服务器,hostname和IP分别为:itcast01:192.168.8.88;itcast02:192.168.8.99 。并保证相互之间能ping通(网络通畅)。
第一步:连接本机(不要小看连接本机,连接本机也是需要输密码的,在搭建hadoop时经常会用到)
使用itcast01,在根目录下 :ls -al 可以发现由个.ssh的隐藏文件。
查看.ssh文件夹可以发现是空的。
接下来我们连接itcast02。
可以看到我们首次连接itcast02:192.168.8.88,会提示我们第一次连接,键入yes后输入密码,连接成功。
exit退出后,我们可以看见在itcast01的.ssh目录下多出了个known_hosts文件夹,查看后我们可以看出是对前面连接的itcast02的一个记录,再次连接时便是直接输入密码即可
好了,接下来我们便实现免密码登录。
首先需要在.ssh目录下生成秘钥和公钥:在.ssh目录下键入:ssh-keygen -t rsa(-t rsa表示:生成的算法选择为rsa)。
可以看出生成了一个公钥(id_rsa.pub)和一个秘钥(id_rsa)
接下来,在.ssh文件夹下创建cp id_rsa.pub authorized_keys
可以看出,该操作是在.ssh文件夹下创建authorized_keys (注意,文件的名称必须是:authorized_keys,而且是个文件,不是个文件夹) ,并将公钥中的信息复制进去。
这时候我们可以发现,itcast01自登陆时就可以免密码登陆了。
第二部:实现不同机器之间的免密码登录
接下来实现不同Linux服务器之间的免密码登录。
当然,ssh提供了指令来实现这一系列操作: ssh-copy-id xxxxxx即将自己的公钥发到指定机器的.ssh文件夹下的authorized_keys文件(没有则自动创建)
在键入密码后连接成功。
这时候,我们可以发现在itcast02的.ssh下的authorized_keys文件中存在了itcast01的公钥信息。
如此则实现了itcast01免密码登录到itcast02的目的,但这时候itcast02却不能免密码登录itcast01,
原因是,itcast01的authorized_keys文件中没有itcast02的公钥,要实现itcast02免密码登录itcast01,其操作和itcast01登录itcast02相同。
第三步:了解原理
很麻烦,一般会设置SSH免密码登录。
准备工作:
准备两台Linux服务器,hostname和IP分别为:itcast01:192.168.8.88;itcast02:192.168.8.99 。并保证相互之间能ping通(网络通畅)。
第一步:连接本机(不要小看连接本机,连接本机也是需要输密码的,在搭建hadoop时经常会用到)
使用itcast01,在根目录下 :ls -al 可以发现由个.ssh的隐藏文件。
查看.ssh文件夹可以发现是空的。
接下来我们连接itcast02。
可以看到我们首次连接itcast02:192.168.8.88,会提示我们第一次连接,键入yes后输入密码,连接成功。
exit退出后,我们可以看见在itcast01的.ssh目录下多出了个known_hosts文件夹,查看后我们可以看出是对前面连接的itcast02的一个记录,再次连接时便是直接输入密码即可
好了,接下来我们便实现免密码登录。
首先需要在.ssh目录下生成秘钥和公钥:在.ssh目录下键入:ssh-keygen -t rsa(-t rsa表示:生成的算法选择为rsa)。
可以看出生成了一个公钥(id_rsa.pub)和一个秘钥(id_rsa)
接下来,在.ssh文件夹下创建cp id_rsa.pub authorized_keys
可以看出,该操作是在.ssh文件夹下创建authorized_keys (注意,文件的名称必须是:authorized_keys,而且是个文件,不是个文件夹) ,并将公钥中的信息复制进去。
这时候我们可以发现,itcast01自登陆时就可以免密码登陆了。
第二部:实现不同机器之间的免密码登录
接下来实现不同Linux服务器之间的免密码登录。
当然,ssh提供了指令来实现这一系列操作: ssh-copy-id xxxxxx即将自己的公钥发到指定机器的.ssh文件夹下的authorized_keys文件(没有则自动创建)
在键入密码后连接成功。
这时候,我们可以发现在itcast02的.ssh下的authorized_keys文件中存在了itcast01的公钥信息。
如此则实现了itcast01免密码登录到itcast02的目的,但这时候itcast02却不能免密码登录itcast01,
原因是,itcast01的authorized_keys文件中没有itcast02的公钥,要实现itcast02免密码登录itcast01,其操作和itcast01登录itcast02相同。
第三步:了解原理
相关文章推荐
- Linux使用ssh-keygen实现SSH无密码登录
- Linux下通过ssh-keygen和ssh-copy-id命令实现ssh无密码登录访问
- ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问
- ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问
- linux下实现ssh授权、无密码登录
- linux下实现ssh授权、无密码登录
- linux下实现ssh授权、无密码登录
- Linux:实现Hadoop集群Master无密码登录(SSH)各个子节点
- 服务器间通过ssh使用密钥对实现无密码登录solaris,redhat,linux
- Linux下通过ssh-keygen和ssh-copy-id命令实现ssh无密码登录访问
- Linux 通过rsa公钥实现ssh免密码登录
- 定制微型linux实现启用虚拟终端基于帐号密码登录、提供ssh服务,提供Web服务(下)附有命令移植脚本 推荐
- ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问(转)
- linux ssh无法实现免密码登录
- ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问
- linux下两台主机通过ssh实现无密码登录
- linux主机间实现ssh/scp/rsync免密码登录
- Linux实现SSH无密码登录
- Python实现Linux下SSh的无密码登录
- Linux实现SSH无密码登录