linux之实现无密码登录

如果你管理一台Linux服务器,那么你就会知道每次SSH登录时或者使用scp复制文件时
都要输入密码是一个多么繁琐的过程.使用SSH Key来实现SSH无密码登录,而且使用
scp复制文件时也不需要再输入密码.除了方便SSH登录,scp复制文件外,SSH无密码
登录也为Linux服务器增加了又一道安全防线.

SSH全名Secure Socket Shell,安全外壳传输协议。
专为远程登录会话和其他网络服务提供安全性的协议

openssh
在主机中开启了openssh服务, 对外开放了远程连接的接口,端口号:22
openssh的服务端:sshd /etc/ssh/sshd_config

openssh的客户端:ssh ~/.ssh

ssh————————————>sshd
client      server
ssh
ssh= secure shell
可以让远程主机通过网络访问sshd服务,开始一个安全shell,并对其进行操控

sshd
可以通过网络在主机中开启shell的服务

SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。
SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。

SSH 这个终端命令只能在Linux或者UNIX系统下使用

如果在Windows系统中,可以安装PuTTy或者 XShell客户端软件连接SSH Server

SSH远程登录的安全外壳协议
有两种身份发验证机制:
1.用户名+密码验验
2.密钥验证

本地使用私钥对数据进行加密/解密
服务器使用公钥对数据进行加密/解密
非对称加密算法: 1)使用公钥加密的数据,需要使用私钥解密
2)使用私钥加密的数据,需要使用公钥解密

ssh无密码登录流程:
1.首先在每台节点上都生成一对公钥和私钥
$ ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
-f文件名
指定密钥文件的文件名。
-P密码
提供(旧)密码短语。
-t dsa | ecdsa | ed25519 | rsa | rsa1
指定要创建的密钥的类型。可能的值为
协议版本1的“ rsa1”和“ dsa”,“ ecdsa”,“ ed25519”或
协议版本2的“ rsa”。

-P表示密码,-P ‘’ 就表示空密码;

也可以不用-P参数,这样就要三车回车,用-P就一次回车
#它在~下生成/.ssh目录,.ssh下有id_rsa和id_rsa.pub

ssh-keygen 默认使用 RSA 算法,长度为 2048 位,生成一个私钥文件 id_rsa
和一个公钥文件 id_rsa.pub,两个文件默认保存在用户的 ~/.ssh 目录下。
你可以在命令行交互过程指定密钥文件路径,也可以设置密钥口令,如果设置了
密钥口令,在使用密钥进行登录时,需要输入口令。

2.创建认证库cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
可以理解为认证库中有哪台节点的公钥,就可以无密码登录到哪个节点上,
先把自己的公钥放到认证库中, 此时,自己可以登录自己了。
第一次登录是需要输入密码的.

3.如果A想无密码登录B
那么A就需要有B的公钥,所以在B节点上生成一对密钥对,公钥和私钥,
私钥是留给自己的, 公钥是给谁可以有自己家的钥匙可以无密登录
远程复制scp 公钥 给对方哪个用户crx@IP地址或域名:对方的路径
[crx:savle1] scp id_rsa.pub crx@master:/home/crx/.ssh/id_rsa1.pub

$> ssh master
当第一次链接远程主机时,会提示你当前主机的”公钥指纹”,询问你是否继续,
如果选择继续后就可以输入密码进行登录了,当远程的主机接受以后,该台服务器的
公钥就会保存到~/.ssh/known_hosts文件中。

1.配置SSH
a.修改hostname
$>su root
$>gedit /etc/sysconfig/network
【HOSTNAME=master】
b.修改hosts文件
$>gedit /etc/hosts
【在文件后追加:ip 主机名:
192.168.142.138 master
192.168.142.139 slave1
192.168.142.140 slave2

c.reboot;
d.生成秘钥
$>ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
【说明:-t设置生成秘钥的算法,采用的rsa;-P设置密码,默认为空;-f设置秘钥生成的文件位置,~/.ssh】

    [crx@master .ssh]$ ls
	id_rsa  id_rsa.pub  known_hosts
	
	[hadoop@master .ssh]$ cat id_rsa.pub 
	ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0GqjKVgA/A8WAX+bKazzrmQav9YK5NlCs3jbE8SnO+fGd0DP/rYjzQrqVVj39KV/1NDBOXk+fGoDTW8h01eXnle7d3dlcQinLZ5V5NDKCPZfaFJwMM+YuIa+6kpH9A5PVD+7n8MQU4H5cVq32Ct2rvIH/SSENkQ0uqQswB6jNujfo2LZn1T37L6cwecavAFjmuDCL65bbRcJB68FDASB+u80kagBpmzUv1Z2CSm3Vilj5qpPXCl/RNu9JxuznoeBlz/pijVqrr/GYaX5Shx6nYNEpgfmrPgO8b6NIT76ExThjYBKLbYRmNdsK1pgk4S6aJCMaHwnUkikT6HKCLhFxw== crx@master
   e.生成认证库
	$>cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
	[hadoop@master .ssh]$ cat authorized_keys                                                                                                                                                                                                                                                                                                                                                                 
	ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0GqjKVgA/A8WAX+bKazzrmQav9YK5NlCs3jbE8SnO+fGd0DP/rYjzQrqVVj39KV/1NDBOXk+fGoDTW8h01eXnle7d3dlcQinLZ5V5NDKCPZfaFJwMM+YuIa+6kpH9A5PVD+7n8MQU4H5cVq32Ct2rvIH/SSENkQ0uqQswB6jNujfo2LZn1T37L6cwecavAFjmuDCL65bbRcJB68FDASB+u80kagBpmzUv1Z2CSm3Vilj5qpPXCl/RNu9JxuznoeBlz/pijVqrr/GYaX5Shx6nYNEpgfmrPgO8b6NIT76ExThjYBKLbYRmNdsK1pgk4S6aJCMaHwnUkikT6HKCLhFxw== crx@master
	ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAv8m+K2C41R9cWwsLdGKycYtN+P41L+5ceRfUgIOt69hRol1vQHn+gyVNNC+MSPKgIb8qYKZvLIGNdkbtmoEkRqBe8ROYz75PEOrzACJtFlAjKfCXesTPAhFppRXWF62SL9JvHKVeiCG/D/rhJBI1+NJIBXe+2LbY/e4gWhzIoyAMNNz9AXWjRrypXQ3tSk/5mrkjkR01U2Efc+IM/k5Y7dfe1F102WYiC5E8qv00Ny1YyVfnQiBBKDADDHov/y4xrD0sAJ+Hwe1uQdmGJqw9HHCnQrwlfP9u7e0Aa1owdHRZaSR7uh5SDshghu+6UQ6pGcTCnBC/QgtufUiah86djw== crx@slave1  

   f.修改认证库的权限为600
    $>chmod 600 ~/.ssh/authorized_keys
	
   g.测试登录自己的家下
     ssh master   
  1. 三个节点之间无密码登录操作 SSH无密登录(参照hadoop官网)
    master > c d . s s h m a s t e r >cd .ssh master >cd.sshmaster>ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
    master > c a t   / . s s h / i d r s a . p u b > >   / . s s h / a u t h o r i z e d k e y s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值