Linux操作篇之配置SSH服务

一、什么是SSH。

SSH(Secure Shell)是我们在使用终端登录Linux时,所使用的传输协议。这个是一种加密的传输方式,可以将我们要发送给Linux端的信息进行加密传输,是一种安全且可靠传输方式。

二、工作模式。

先明白两个东西:公钥;私钥。

公钥:将数据信息进行加密的“工具”。可以理解为锁。

私钥:将加密的数据新建进行解密的“工具”。可以理解为钥匙。

公钥是公开的,私钥是不公开的。

1、用户名、密码登录方式。

2、密钥对登录方式。

相比起用户名与密码登录方式,这个方法更加安全。当配置完成后,不再需要用户/密码的方式进行验证。直接使用公钥与私钥进行验证。且连接是双向的(一端既可以是服务端也可以是客户端)。

 三、配置过程。

1、配置虚拟机IP地址与主机名。

网络可以修改文件/etc/sysconfig/network-scripts/ifcfg-ens33。

主机名可以使用(hostnamectl set-hostname  主机名)命令修改。修改完成重启即可。

2、修改/etc/hosts配置文件

node1与node2两台的这个配置文件都这样配置。这样可以将node1与node2作为域名使用。

3、创建公钥。

ssh-keygen -t rsa

-t  选择加密类型rsa\dsa,一般选择rsa

-b  指定加密长度(最少2048位,默认2048位)

输入执行命令后,一直回车,结束之后会自动生成一个.ssh目录,里面存放着本端的公钥(.pub)与私钥(.rsa)。

4、将公钥交于对端。

ssh-copy-id 用户名@IP地址  (用户名是用来登录服务端的用户名,默认root。)

  

输入执行命令后,会自动将node2的IP地址解析出(通过/etc/hosts文件),然后询问是否继续连接,输入yes。因为目前这个状态还未完成配置,所以连接node2需要node2的root密码进行验证。

5、双向验证。

完成后,在node2中的.ssh中会存在上图所示的文件。这样node1使用ssh登录node2时,不在需要密码。

三、ssh的一些配置(修改/etc/ssh/sshd_config,完成之后再重启服务)

1、默认端口

在ssh服务中,默认的端口是22。可以通过修改配置文件改变ssh的服务端口。

将注释去掉,修改22(范围1-65535),推荐修改8000+以上的端口。

ssh  -p  端口号  IP地址

2、限制连接的网卡

在正常工作中,一个服务器会存在多个网卡。比如一个网卡连接互联网,一个网卡连接内网,而连接互联网网卡并不安全,所以可以限制只能从内网网卡进行ssh登录。

去掉注释。修改0.0.0.0,它默认是所以地址,修改为内网网卡的IP地址。这样就只能通过内网网卡进行ssh登录。

3、禁用密码登录。

上面记录了使用密钥对进行ssh登录。这样配置完成后,存在两种登录方式(密码登录与密钥对登录)。可以将密码登录禁止,只使用密钥对登录,保证服务器密码安全。

将“yes”修改为“no”。

4、禁用root远程登录

root用户权限比较大,远程登录不安全。

 去掉注释,将“yes”修改为“no”。

四、ssh的扩展

1、scp(secure copy)

scp   用户名@IP地址:绝对路径/文件   目录路径  (将服务端的文件拷贝到本地)

scp   目录路径/文件    用户名@IP地址:绝对路径  (将本地的文件拷贝到服务端)

scp    -P   端口号   (指定ssh的端口号)

2、SFTP

sftp  用户名@IP地址            (登录服务端)

sftp  -oPort=端口号    用户名@IP地址    (指定端口号登录服务端)

操作方法与ftp服务基本一样。几处不同:

a、SFTP传输过程会建立安全通道,传输过程更稳定。

b、SFTP使用的是加密传输协议,传输过程更加安全。

c、FTP使用TCP / IP协议。而SFTP是SSH协议的一部分,它是一种远程登录信息。

d、FTP使用21端口建立连接,20端口传输数据。SFTP通过22端口建立连接传输数据。

posted on 2020-06-19 15:50  沫仔  阅读(1635)  评论(0编辑  收藏  举报

导航