1、OpenSSH 简介
OpenSSH这一术语指系统中使用的Secure Shell软件的软件实施。用于在远程系统上安全运行shell。如果您在可提供ssh服务的远程Linux系统中拥有用户帐户,则ssh是通常用来远程登录到该系统的命令。ssh命令也可用于在远程系统中运行命令。
常用的远程工具
telnet // 远程登录协议,23/TCP,认证明文,数据传输明文
ssh // Secure SHell,应用层协议,22/TCP
通信过程及认证过程是加密的,主机认证
用户认证过程加密
数据传输过程加密
dropbear //嵌入式系统专用的SSH服务器端和客户端工具
SSH 认证方式
openssh有两种认证方式,分别是:
基于口令认证:口令就是密码,这种方式需要输入密码,容易被破解,而且用起来很复杂。当有100台主机,你需要创建100个密码,全部一样,你管理的时候每台主机都要输入密码,那如果全部不一样呢,那就更麻烦了!!!
基于密钥认证:不需要密码。使用证书匹配,匹配的上就可以登录。而且还可以给密钥设密码
2、OpenSSH的作用
OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务。 OpenSSH是使用SSH透过计算机网络加密通讯的实现。
3、OpenSSH的工作模式
openSSH是基于C/S架构工作的。一台客户端,一台服务端。
cs:客户端加service服务器
bs:浏览器加service服务器
服务器端——sshd,配置文件在/etc/ssh/sshd_config (可以优化服务端的配置)
客户端——ssh,配置文件在/etc/ssh/ssh_config (这个配置文件不需要修改)
ssh-keygen //密钥生成器,
ssh-copy-id //将公钥传输至远程服务器
scp //跨主机安全复制工具,传输工具
ssh-keygen是客户端生成密钥,不是服务端
4、OpenSSH使用
ssh + ip/主机名 直接连接:会使用当前用户身份直接去连接主机(必须当前用户在对面主机也存在,否则无法连接)
ssh user@ip/主机名:指定用户连接(指定user用户连接你想要连接的主机)
需要你输入密码是用户认证,先进行主机用证在进行用户验证,平时就是用户验证,就第一次验证需要输入yes,后面输入密码即可登录。第一次主机用证之后,本地就保存了,只要不更改公钥后面都是默认的
ssh命令常用选项:
-p //指定端口
-X //调用图形化
-Y //和-X一样,比-X更安全
-i //指定密钥位置
scp命令常用选项
-r //递归复制
-p //保持权限
-P //大写,指定端口
-q //静默模式
-a //相当于-rp
-i //指定密钥位置