一、SSH概念
SSH为Secure Shell(安全外壳协议)的缩写,简单说,SSH只是一种网络协议,用于计算机之间的加密登录传输,很多ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而SSH就是专为远程登录会话和其他网络服务提供安全性的协议。
SSH是由客户端和服务端的软件组成的
服务端是一个守护进程(sshd),默认端口:22,他在后台运行并响应来自客户端的连接请求。
客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
- netstat -nltp 检查sshd是否开启
- scp -r /etc/hosts root@hadoop01:/etc/hosts ##远程拷贝:将本台机的/etc/hosts拷贝给hadoop01(映射名)的root用户,并存放在/etc/hosts这里。
二、认证机制
- 基于口令的认证机制:需要知道用户名、ip地址(映射名)、密码
- 基于密钥认证机制:用hadoop01请求连接hadoop02,hadoop02会在自己的授权池文件中查找是否有hadoop01的公钥,如果有使用公钥加密字符串返回给hadoop01,hadoop01用私钥解读并返回给hadoop02,内容正确则建立连接,否则不建立连接。如果没有hadoop01需要生成密钥对,把公钥给到hadoop02的授权池中,再沟通建立连接。
三、免密登录
- 生成密钥对
-
ssh-keygen或者ssh-keygen -t rsa
-
注意:提示要输入信息的时候不用输入任何东西,直接回车三次就OK。
-
生成的私钥路径:/root/.ssh/id_rsa
-
生成的公钥路径:/root/.ssh/id_rsa.pub
- 发送公钥到另一台机的授权池
-
ssh-copy-id ip地址(或映射名称) ##发送公钥给授权池文件(如:ssh-copy-id hadoop02)
-
(如果提示ssh不存在,则先安装:yum -y install openssh-clients)
-
scp -r 目录下的文件 用户名@ip地址(或映射名):存放路径及文件 ##远程拷贝(如:scp -r /etc/hosts root@hadoop02:/etc/hosts)
-
slogin ip地址(或映射名称) ##远程登陆(或者ssh ip地址(或映射名称))用exit退出
-
scp -r /root/Desktop/test/ root@hadoop02:/root/Desktop/test/ ##远程复制目录
-
scp -r /root/Desktop/ab.tar root@hadoop02:/root/Desktop/ab.tar ##远程复制文件