ssh远程登录协议

1.什么是SSH服务器

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面远程登录、远程复制等功能。

对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。

对数据进行压缩,加快传输速度。

 服务名称:sshd

 服务端主程序:/usr/sbin/sshd

 服务端配置文件:/etc/ssh/sshd_config

 客户端配置文件:/etc/ssh/ssh_config

2。ssh优点

数据传输是加密的,可以防止信息泄露

数据传输是压缩的,可以提高传输速度

3,常见ssh协议

客户端:
Linux Client: ssh, scp, sftp,slogin

Windows Client:xshell, MobaXterm,putty, securecrt, sshsecureshellclient

OpenSSH 是实现SSH协议的开源软件项目,适用于各种UNIX、 Linux 操作系统。

Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动。

执行"systemctl start sshd"命令即可启动sshd 服务

sshd 服务默认使用的是TCP的22端口,安全协议版本sshv2,出来2之外还有1(有漏洞)ftp  20 21

ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件。

4.功能

ssh服务端主要包括两个服务功能 ssh远程链接和sftp服务(文件传输功能)  

作用

SSHD 服务使用 SSH 协议可以用来进行远程控制,或在计算机之间传送文件。 相比较之前用 Telnet 方式来传输文件要安全很多,因为 Telnet 使用明文传输,SSH 是加密传输。

5.原理

公钥传输原理

客户端发起链接请求

服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)

客户端生成密钥对

客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密

客户端发送加密值到服务端,服务端用私钥解密,得到Res

服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)

最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

6.登录方式

ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p   port(端口号)

-p:指定端口号(默认多端口号为22一般情况下不需要加此选项)

如当前所登录的用户是 root 的话,当连接另一台主机时也是用 root 用户登录时,可以直接使用 ssh   IP

操作:

指定登录的用户

 ssh远程登录协议_第1张图片

ssh远程登录协议_第2张图片 

直接连接 默认连接root用户

 输入  ssh  IP地址

ssh远程登录协议_第3张图片

指定端口号

将服务端的端口号修改成非22端口

vim /etc/ssh/sshd_config

找到Port 22的配置,默认是注释掉的,打开注释(删除#)

在下面新增一行:Port 2222(你设置的SSH端口号),

注意不要跟现有端口号重复(新增一行的目的是防止新的端口登录不上)

尝试用2222端口进行登陆,看是否成功!如果成功,执行下面操作。

编辑/etc/ssh/sshd_config文件,将Port 22这行配置注释上或删除

修改之后重启服务 systemctl restart sshd ,使配置文件生效

ssh远程登录协议_第4张图片

 再使用客户机去连接就需要指定端口号了

 

 

6.黑白名单

允许或禁止某主机登录用户

白名单设置

指定主机远程登录

ssh远程登录协议_第5张图片

编辑服务端配置文件添加白用户登录设置

vim /etc/ssh/sshd_config 

ssh远程登录协议_第6张图片

systemctl  restart   sshd 

192.168.6.88能登录 

ssh远程登录协议_第7张图片 

 192.168.6.87被拒绝

ssh远程登录协议_第8张图片 

 黑名单设置

编辑服务端配置文件添加黑用户登录设置

ssh远程登录协议_第9张图片

 ssh远程登录协议_第10张图片

( 注意黑白用户设置不能一用)

systemctl  restart   sshd重启服务

 验证

ssh远程登录协议_第11张图片

ssh远程登录协议_第12张图片

7. 使用密钥对及免交互验证登录 (可无需密码验证)

  在实验之前,将之前设置的黑白名单删除,或者使用新的客户机实验

ssh远程登录协议_第13张图片

8.scp

远程复制命令

命令格式:scp 选项 源文件 目标:目录

选项:

-r:复制文件夹

ssh远程登录协议_第14张图片

ssh远程登录协议_第15张图片 

9. sftp

远程下载或上传

命令格式:sftp 登录用户@远程主机IP地址

不加用户的话默认为root

sftp [email protected]   登陆到服务器

get下载
get anaconda-ks.cfg /home/

上传
put abc.txt      默认时会上传的/root 
put abc.txt /home/


查看可用命令
help  查看sftp可使用的命令和用途

打印服务器当前位置
pwd     打印当前服务器所在位置
lpwd    打印当前本地位置

切换目录、查看文件
cd     切换服务器上的目录
ls     查看当前目录下文件列表

下载文件、退出sftp
get         下载文件
get -r      下载目录
quit        退出sftp
put         上传文件
put -r      上传文件夹
退出命令:quit、exit、bye都可以

 

你可能感兴趣的:(ssh,服务器,linux)