1、什么是ssh?
ssh是一种网络协议,用于计算机之间的加密登录。
2、ssh的登录原理是什么?
首先,客户端向服务端,发送登录请求,服务端向客户端返回公钥,客户端得到公钥后加密登录信息登录,服务端收到登录信息后,根据私钥解密登录信息,确认无误后,允许登录。
3、ssh的服务端是什么?有什么作用?
ssh的服务端是一个守护进程(daemon),服务端的进程名是sshd,它可以响应来自客户端的连接请求,以及公司密钥的交换和认证等等。
4、ssh的基本用法
ssh的默认端口是22
语法
ssh -p 22 user@host
参数
-p:指定端口号
user:登录的用户名
host:登录的主机
默认的端口号为22,当端口号为22的时候,可以省略
客户端第一次使用ssh连接的时候,会在/root/.ssh/kown_hosts下生成多个密钥。
5、ssh的认证类型?
(1)基于口令的认证
即客户端在登录的时候,需要输入指定IP的password指令
(2)基于密钥的认证
首先在客户端生成一堆密钥
ssh-keygen
然后将公钥传送至服务端后,即可以进行免密登录
ssh-copy-id 服务端IP地址
6、ssh配置文件常见的选项
1、ssh的配置文件所在位置
/etc/ssh/sshd.conf
2、常见的服务器端选项
1 Port 22 //默认的监听的端口号为22,可以修改为其他不被占用的端口,提高安全性,防止被黑。
2 Protocol 2 //使用SSH V2协议
3 ListenAdderss 0.0.0.0 //监听的地址为所有的地址,同时可以自己设置需要监听的指定IP
4 UserDNS no //禁止DNS反向解析 建议用no,不需要对DNS进行反向解 析,可以加快ssh连接速度。
3、常见的客户端选项
PermitRootLogin no // 禁止root用户登录
PermitEmptyPasswords no // 禁止空密码用户登录 一旦启用了 PermitEmptyPasswords yes,那么所有无密码的用户也就可以远程登录了,并且还是 免密码的方式。 LoginGraceTime 2m // 登录验证时间为2分钟
MaxAuthTries 3 // 最大重试次数3次
AllowUsers zhangsan // 只允许张三用户登录
DenyUsers lisi // 不允许lisi用户 登录
MaxSessions // 最大的会话个数
4、常见的验证登录方式
1 PasswordAuthentication yes //启用密码验证
2 PubkeyAuthentication yes //启用密匙验证
3 AuthorsizedKeysFile .ssh/authorized_keys //指定公钥数据库文件
6、ssh客户端附带远程拷贝命令scp
push:将客户端的内容推到服务端指定目录
ssh -P 22 -r /etc/hosts root@192.168.26.151:/tmp/
pull: 将服务端的指定内容拉倒客户端
ssh -P 22 -r root@192.168.26.151:/etc/hosts /tmp/
参数
-P 指定端口
-r 表示拷贝目录
-p 表示拷贝文件的属性和权限
7、scp拷贝的特点和缺点
scp每次都是全量拷贝,效率不高,但scp是加密拷贝,具有安全性,增量拷贝用rsync