天天看点

Linux的SSH免密登录

一、SSH概念

SSH为Secure Shell(安全外壳协议)的缩写,简单说,SSH只是一种网络协议,用于计算机之间的加密登录传输,很多ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而SSH就是专为远程登录会话和其他网络服务提供安全性的协议。

SSH是由客户端和服务端的软件组成的

服务端是一个守护进程(sshd),默认端口:22,他在后台运行并响应来自客户端的连接请求。

客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。

  •  netstat -nltp  检查sshd是否开启
  • scp -r /etc/hosts [email protected]:/etc/hosts   ##远程拷贝:将本台机的/etc/hosts拷贝给hadoop01(映射名)的root用户,并存放在/etc/hosts这里。

二、认证机制

  • 基于口令的认证机制:需要知道用户名、ip地址(映射名)、密码
  • 基于密钥认证机制:用hadoop01请求连接hadoop02,hadoop02会在自己的授权池文件中查找是否有hadoop01的公钥,如果有使用公钥加密字符串返回给hadoop01,hadoop01用私钥解读并返回给hadoop02,内容正确则建立连接,否则不建立连接。如果没有hadoop01需要生成密钥对,把公钥给到hadoop02的授权池中,再沟通建立连接。
  • Linux的SSH免密登录

三、免密登录

  • 生成密钥对
  • 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 [email protected]:/etc/hosts)
  • slogin ip地址(或映射名称)  ##远程登陆(或者ssh  ip地址(或映射名称))用exit退出
  • scp -r /root/Desktop/test/ [email protected]:/root/Desktop/test/    ##远程复制目录
  • scp -r /root/Desktop/ab.tar [email protected]:/root/Desktop/ab.tar     ##远程复制文件

继续阅读