首页 > 系统相关 >Linux远程访问及控制

Linux远程访问及控制

时间:2024-06-10 17:05:17浏览次数:17  
标签:sshd 登录 访问 ssh Linux test 根目录 root 远程

设备信息

主机名称IP地址用途
test01192.168.221.130被远程连接(服务器)
test02192.168.221.131使用远程连接(客户端)

OpenSSH服务器

        SSH(Secure Shell)协议

  1. 是一种安全通道协议
  2. 对通信数据进行了加密处理,用于远程管理
  3. 使用TCP协议

        OpenSSH

  1. 服务器名称:sshd
  2. 服务端主程序:/usr/sbin/sshd
  3. 服务端配置文件:/etc/ssh/sshd_config
  4. 客户端配置文件:/etc/ssh/ssh_config

 使用SSH远程连接

         使用ssh命令连接

        查看SSH服务状态

systemctl status sshd

        Linux的SSH一般默认是启动的,如果没有启动,就先启动服务

systemctl start sshd

        test02客户端连接test01服务器

ssh [email protected]

         设置端口号

SSH默认端口号22,如果要修改端口号,在服务器端配置

        修改配置文件,大概在17行,取消注释Port,并修改端口号

vi /etc/ssh/sshd_config

        我这里将端口号修改为1234,还应确保端口号没有被占用     

        保存退出后重启服务

systemctl restart sshd

        修改端口号之后,如果再次进行连接,则需要指定端口号

                -p        此选项可以指定端口号

ssh -p 1234 [email protected]

         设置不能登录root用户

root用户权限是非常大的,因此如果使用root用户就不安全,现在禁止使用root用户登录

        编辑配置文件,大约38行,将PermitRootLogin后的yes改为no,并取消注释

vi /etc/ssh/sshd_config

        保存退出后,重启服务

systemctl restart sshd

        此时再使用root用户登录就无法成功,显示权限被拒绝,会让再次尝试,密码正确也无法登录,此处说一下,如果退出连接,使用exit命令即可

          AllowUsers和DenyUsers

刚刚说了禁止root用户登录,那么如果有多个普通用户,可以使用AllowUsers和DenyUsers

        AllowUsers        :设置允许哪些用户登录

        DenyUsers        :设置禁止哪些用户登录

                注意:这两个不可以同时使用,而且用户是一定要设置密码的,因为现在使用密码验证,必须要输入密码,后面会说密钥验证!!!!

给服务器新增k1,k2,k3三个用户,在配置文件内编辑,直接在末尾添加即可

vi /etc/ssh/sshd_config

AllowUsers

        现在只允许用户k1可以登录,让k2在IP为192.168.221.133的主机上才可以登录

AllowUsers k1 [email protected]

        重启服务,然后尝试登录,可以看到,因为允许登录的用户没有k3,所以k3无法登录,那么k2为什么也无法登录呢,因为我们登录的IP不是配置的那个IP,所以自然也无法登录  

DenyUSers

        现在禁止用户k1,k2登录

DenyUsers k1 k2

        退出保存后,重启服务,尝试登录,可以看到,只有k3用户可以登录

          密码尝试

        如果密码输入错误,系统会让再次尝试输入密码,可以自己设置最大尝试次数,此处防止被暴力破解

        编辑配置文件

vi /etc/ssh/sshd_config

         在大概第40行修改MaxAuthTries后的值,并取消注释,我这里改为5次,默认是3次

 MaxAuthTries 5

        这里大家自己尝试一下,我就不做演示了

          密钥验证

        远程登录除了密码验证,还可以使用秘钥验证

        在客户端(也就是使用远程连接的主机)生成密钥,系统可能会提示你保存密钥的位置和是否设置密码短语。如果不需要密码短语(这样每次使用密钥时就不需要输入密码),直接按回车键即可

ssh-keygen

        

        将公钥传输到服务器,将生成的公钥复制到被远程连接的主机上

        root为连接的用户,192.168.221.130为被连接的主机IP地址

ssh-copy-id [email protected]

        然后重启服务,使用root用户登录便不再需要密码

          使用scp传输文件

        传输文件使用scp命令

        在客户端主机的根目录下创建一个test.txt,内容是hello

        将这个文件复制到服务器主机的根目录下

scp /test.txt [email protected]:/

        查看服务器的根目录,可以看到服务器的根目录下已经有了这个文件

ls /

        那么反过来将服务器的文件拉取到本机也是一样的

        现在把客户端根目录下的test.txt文件删除,再从服务器拉取这个文件到客户端根目录

#删除test.txt

rm /test.txt

#从服务器端拉取文件

scp [email protected]:/test.txt /

        然后查看客户端根目录,test.txt文件又出现了

        这是传输普通文件,那么如果是目录呢?

        传输目录则需要加上-r选项

        在客户端根目录创建一个目录test

mkdir /test

        将这个目录复制到服务器的根目录下,可以看到,不加 -r 无法传输成功

scp -r /test [email protected]:/

        查看服务器根目录,已经有了test这个目录

XShell

        下载

        在虚拟机中操作Linux系统,不是很方便,现在给大家分享一款工具

        下载地址:家庭/学校免费 - NetSarang Website

        下载的时候按照提示做即可

        使用    

        连接到指定的主机IP即可 ,接下来就可以在这个窗口内操作我们的Linux主机了,同样需要输入用户密码

        新建会话

        1.单击页面左上角文件,然后点新建,下次连接便不用再输入IP和密码

       2.设置会话属性,名称自己设置,我一般设置为IP地址,便于区分,主机就写要连接的主机IP地址,端口号默认是22

        3.点击左边用户深粉验证设置登录的账号密码,然后点击确定

        4.新建完成后左边会显示自己新建的会话,双击便可打开

如果有不对的地方及时指出或补充,谢谢大家

标签:sshd,登录,访问,ssh,Linux,test,根目录,root,远程
From: https://blog.csdn.net/qq_71559175/article/details/139574831

相关文章

  • Linux网络设置
    目录网络设置ifconfig(interfaceconfiguration)主机路由查看进程相关信息跟踪路由解析指定域名域名解析配置文件网络设置ifconfig(interfaceconfiguration)如果想使用ifconfig命令要安装net-tools软件包yuminstallnet-toolsens33en:Ethernet(以太网)s:代表slot......
  • 【教程】在Linux系统上安装Docker和Docker Compose
    介绍Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。DockerCompose是在使用Docker容器部署分布式应用时的工具,可以定义哪个容器运行哪个应用。使用Compose,你只需定义一个多容器应用的yml文件,然后使用一条命令即可部署运行所有容器......
  • 在Linux中,如何选择 Linux 操作系统版本?
    选择Linux操作系统版本时,您需要考虑多个因素来确保所选版本能够满足您的特定需求。以下是一些关键的考虑点:目的和经验水平:新手用户:如果刚开始接触Linux,建议选择用户友好的发行版,如Ubuntu、Mint或Kubuntu。这些系统提供了良好的图形界面,丰富的软件库,以及活跃的社区支持,非常适......
  • 在Linux中,什么是硬链接和软链接?
    在Linux中,硬链接(HardLink)和软链接(SoftLink,也称为符号链接SymbolicLink)是两种用于引用文件或目录的机制。以下是关于这两种链接的详细解释:1.硬链接(HardLink)定义:硬链接是通过文件系统中的索引节点(inode)来进行连接的。多个文件名可以指向同一个索引节点,这就是硬链接。特......
  • 在Linux中,什么是 inode ?
    在Linux中,inode(索引节点)是一个重要的文件系统概念,它用于描述文件系统中的文件和目录的元数据信息。以下是关于inode的详细解释:定义:inode是Linux文件系统中用于存储文件和目录元数据信息的数据结构。每个文件和目录在文件系统中都有一个唯一的inode与之关联。组成信息:inod......
  • 在Linux中,目录结构是怎样的?
    在Linux中,目录结构是一个层次化的文件系统结构,它定义了Linux操作系统中各个目录的作用和存放内容的规范。以下是Linux目录结构的详细介绍:一、根目录(/)作用:整个文件系统的起始点,所有其他目录和文件都是从根目录开始的。根目录包含了系统中的所有文件和目录。二、主要目录及其功......
  • 在Linux中,RAID 是什么?
    在Linux中,RAID(RedundantArraysofIndependentDisks,独立磁盘冗余阵列)是一种磁盘存储技术,它通过组合多个独立磁盘(物理磁盘)来提供更高的数据可靠性、性能和数据冗余。RAID技术最初是由加州大学伯克利分校在1987年提出的,目的是通过组合小的廉价磁盘来代替大的昂贵磁盘,同时提供数据......
  • 嵌入式Linux系统编程 — 3.5 utime、utimes、futimens、utimensat函数修改文件时间属
    目录1文件的时间属性简介2utime()函数2.1 utime()函数简介2.2示例程序3 utimes()函数3.1 utimes()函数简介3.2示例程序 4  futimens()函数4.1 futimens()函数简介4.2示例程序5 utimensat()函数5.1 utimensat()函数简介5.2 示例程序1文件的时间......
  • 11Linux文件系统与日志分析
    目录11.1深入理解Linux文件系统11.1.1inode与block详解1、inode和block概述2、inode的内容3、inode的号码4、inode的大小11.1.2硬链接与软链接1、硬链接2、软链接11.1.3EXT类型文件恢复1、编译安装extundelete2、模拟删除并执行恢复操作11.1.4xfs文件备份和......
  • 【驱动】Linux内核调试之使用模块参数
    环境:处理器架构:arm64内核源码:linux-6.6.29ubuntu版本:20.04.1代码阅读工具:vim+ctags+cscope本文主要介绍内核开发中常用的模块传参手段,通过模块参数传递可以通过用户态来获取内核的一些信息,也可以通过用户态写入一些值来控制内核相关行为。一般内核开发者很喜欢使用模块传参......