1.ssh协议
ssh是一种网络协议,是一种远程登录的安全外壳协议,用于计算机之间的加密登录
可用于linux机器之间的传输
有两种身份验证机制:
①:用户名+密码验证
②:密钥验证
2.如果想从一台机器上登录到另一台机器,就需要用ssh协议
ssh 机器IP 默认使用root用户,使用exit退出
常用格式:ssh [-l login_name] [-p port] [user@]hostname
更详细的可以用ssh -h查看。
***********指定用户:
ssh -l root 192.168.198.10
***********禁止root用户登录:vim /etc/ssh/sshd_config
找到#PermitRootLogin yes,去掉注释,修改为:
PermitRootLogin no
***********修改端口: vim/etc/ssh/sshd_config
找到#Port 22,去掉注释,修改成一个五位的端口:
Port 12222
如果修改过ssh登录端口的可以:
ssh -p 12222 192.168.198.10
ssh -l root -p 12222 192.168.198.10
ssh -p 12222 [email protected]
*********重启sshd服务:
service sshd restart
3.实现远程文件拷贝
****** scp 服务器之前的文件复制
4.免密实现
1.【B授权列表找】每次访问时,B会根据A的用户名去自己的授权列表authorized_keys里面去找 hadop@A
2.【验证】但也有可能会有机器拿着公钥冒充hadoop@A,此时就需要验证下是不是他
3.【生成随机字符串,用A的公钥加密后发送给A】此验证过程就是B生成一个随机字符串,并且用A的字符串对其加密,然后发送给A
4.【A用自己的私钥对其解密后传送给B】A用自己的私钥对字符串进行解密,然后发送给B
5.【B进行匹配验证】B用该字符串和自己的发送的字符串进行匹配验证
****第一步:A生成公钥和私钥
ssh-keygen -t rsa #默认使用rsa加密算法
#,默认路径/home/hadoop/.ssh/id_rsa
******第二步:将A生成的公钥拷贝到B,并且注册到B的authorized_keys中
ssh-copy-id 主机名
*******第三步:在B下去查找
先查找该授权文件 find / -name 'authorized_keys'