当前位置:   article > 正文

Linux学习记录——ssh&文件互传&Linux身份识别_linux如何配置ssh,filezilla可以用普通用户就能连上linux板子

linux如何配置ssh,filezilla可以用普通用户就能连上linux板子

一.SSH

ssh即安全外壳协议,是一种在不安全网络上提供安全远程登陆及其他安全网络服务的协议
默认端口22sshd是根据ssh协议开发的一套远程登陆服务控制软件,且centos7系统中已经默认安装并启用。
ssh协议是基于非对称加密方法的,服务器和客户端都会生成自己的公钥和私钥。

1、服务器建立公钥:若远程服务器是新系统,第一次启动sshd时,它会主动去计算出需要的公钥和私钥。存放在/etc/ssh/ssh_host*1下,之后每回启动sshd服务的时候,系统会自动在此路径下查找公钥。等待连接请求。
2、客户端请求来凝结:Linux或者mac系统可以直接通过自带的shell连接,指令为ssh user@host或者直接使用ssh host。
3、服务器发送公钥给客户端:服务器接受到请求后吧公钥传给客户端使用。
4、客户端记录服务器公钥并计算自己的公钥:客户端将服务器传来的公钥记录在~/.ssh/know_hosts中,若是已经记录有该服务器的公钥,则对比是否一致,一致后就计算客户端自己的公私钥。
5、客户端发送自己的公钥给服务器:客户端将自己的公钥发送给服务器,这样服务器就有客户端公钥+服务器自己私钥,客户端就有服务器公钥+客户端自己私钥,组成了非对称加密系统。
6、开始双向加解密通信:服务器发送数据:用客户端公钥加密,客户端收到数据后用自己的私钥解密。客户端发送数据:用服务器公钥加密,服务器收到数据后用自己的私钥解密。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

1.ssh工作流程:

在这里插入图片描述

(1)远程主机收到用户的登录请求,把自己的公钥发给用户。(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

ssh缺点:
可伪造公钥

2.中间人攻击

因为上述的过程没有进行身份上的验证所以容易遭到攻击,对数据进行劫持
在这里插入图片描述

sshd提供的两种相对安全的验证方法:
①口令认证(密码认证
只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人攻击”这种方式的攻击
在这里插入图片描述

②密钥认证(客户端生成可信任的公私钥对,公钥放在服务器,私钥放在本地)
你必须为自己创建一对密钥,并把公钥放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公钥,然后把它和你发送过来的公钥进行比较。如果两个密钥一致,服务器就用公钥加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私钥在本地解密再把它发送给服务器完成登录。与第一种级别相比,第二种级别不仅加密所有传输的数据,也不需要在网络上传送口令,因此安全性更高,可以有效防止中间人攻击。
在这里插入图片描述

二.修改sshd的配置文件

ssh_configsshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。
每一行为“关键词&值”的形式,其中“关键词”是忽略大小写的。
前边加有#的为注释,说明那些都是默认配置,如果要修改就把#取代然后在里边修改即可
在这里插入图片描述

修改sshd的配置文件
首先sshd的配置文件的路径是 /etc/ssh
所以要先进入目录cd /etc/ssh
然后用编辑器打开配置文件vi sshd_config

root被禁用:

cd /etc/ssh/
vi sshd_config
#PermitRootLogin yes(改为no)
systemctl restart sshd
  • 1
  • 2
  • 3
  • 4

切换用户:

su - root
su - 普通用户名
  • 1
  • 2

注:需加“-”,这样用户所有变量才能被切换

三.文件互传

文件传输方式:

1.ftp
2.win ->linux   Xshell
3.linux<->linux scp  (基于ssh协议的安全传输命令)
  • 1
  • 2
  • 3

1、本机与虚拟机

本机与虚拟机的文件互传可以使用sftp
Xshell软件中可以用sftp+IP地址的方法用sftp来建立连接
还可以使用快捷键ctrl+alt+f来快速执行

2、虚拟机与虚拟机

虚拟机与虚拟机的文件互传可以使用scp命令来完成
scp是基于ssh远程协议的安全传输命令
使用的方法是
1.scp[参数] 本地文件 远程账户@远程IP地址:远程目录

参数:可选的, -P  指定端口
              -r  控制你传输的是一个文件还是目录
  • 1
  • 2

将本地文件传给另一个虚拟机
2.scp 远程账户@远程IP地址:远程目录 本地目录
下载另一个虚拟机的文件到本地

四、linux的身份识别

Linux特色: 多用户
Linux的身份识别: uid(u->user)
管理员uid值: 0
系统用户/虚拟用户/伪用户uid值: 1-999,不能登录
普通用户uid值: 1000-65535

查看uid命令: id
uid:不能冲突

1、组的概念

用户组: 多个用户划分到同一个组
目的: 方便统一管理拥有相同权限用户。可赋权给整个组。
基本组: 系统创建的组与自己创建用户名相同eg. l l(前者是自己创建的普通用户名,后者是系统自动创建的基本组)
扩展组: 新建的用户组的某个用户可以加到其他用户组里,其他用户组就是这个用户的扩展组
总结: 一个用户只能有一个基本组但是可以有多个扩展组

2.登陆系统的过程:

1.输入账户,系统校验    /etc/passwd
2.核对密码             /etc/shadow   原理:校验uid是否相同
  • 1
  • 2
head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
  • 1
  • 2

用户名:占位:uid:组id:用户信息(用户的简单说明):家目录:登陆用户时所用的shell环境

head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
  • 1
  • 2
  • 3

shell环境为nologin即为系统用户,不能登录

head -1 /etc/shadow
root:$6$AadZ2Wc/rlL8e3Hi$zvCOgspRtEkUgrwY6m6Z6fEwBAl6oY7dC9ur3g0aWqvPLEq2Xj6A0oEFORKHbI9xYPWpKJtLNueaITFAkGr5f/::0:99999:7:::
  • 1
  • 2

用户名:加密的密码(*和!是不能登陆的):密码最后修改的时间(有的有,有的没有):两次密码修改的间隔:密码有效期:密码到期前的告警天数:密码到期之后宽限的天数::

3.重要配置文件

/etc/passwd
/etc/shadow
/etc/group
  • 1
  • 2
  • 3

4.添加普通用户:

useradd 用户名 (无密码)
passwd  用户名 (设置密码)
查看是否设置成功 cat /etc/shadow
  • 1
  • 2
  • 3

5.删除用户:

userdel+用户名 删除用户
  • 1

6.有关其他命令

在这里插入图片描述

7./etc/skel目录

/etc/skel目录是用来存放新用户环境变量文件的目录,当我们新建用户时,这个目录下的文件会自动复制到新用户家目录下,该目录下文件都是隐藏文件(以.结尾的文件),通过修改,增加,删除该目录文件,为新用户提供统一、标准的初始环境。
在这里插入图片描述

验证:在/etc/skel新建readme.txt文件,然后新建用户,查看家目录

会出现的问题:

 -bash-4.1$
 -bash-4.1$
  • 1
  • 2

原因: 无家目录

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/44149
推荐阅读
相关标签
  

闽ICP备14008679号