Linux远程访问及控制

设备信息

主机名称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 root@192.168.221.130

         设置端口号

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

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

vi /etc/ssh/sshd_config

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

        保存退出后重启服务

systemctl restart sshd

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

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

ssh -p 1234 root@192.168.221.130

         设置不能登录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 k2@192.168.221.133

        重启服务,然后尝试登录,可以看到,因为允许登录的用户没有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 root@192.168.221.130

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

          使用scp传输文件

        传输文件使用scp命令

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

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

scp /test.txt root@192.168.221.130:/

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

ls /

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

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

#删除test.txt

rm /test.txt

#从服务器端拉取文件

scp root@192.168.221.130:/test.txt /

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

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

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

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

mkdir /test

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

scp -r /test root@192.168.221.130:/

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

XShell

        下载

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

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

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

        使用    

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

        新建会话

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

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

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

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

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

  • 29
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值