zoukankan      html  css  js  c++  java
  • 【SSH服务】远程连接管理服务SSH

    一、远程连接管理服务SSH

    1、了解服务端和客户端

      服务端:提供服务

      客户端:享受服务

    2、了解端口号设定

    端口范围0~65535.

    •   1~255:一般为知名端口号。如:下面表格所示
    •   256~1023:通常由Unix系统占用来提供特定的服务
    •   1024~5000:客户端的临时端口,随机产生
    •   大于5000:互联网上其他服务预留
    协议名 传输协议 端口号
    ftp文件传输协议:数据连接 tcp 20
    ftp:控制连接 tcp 21
    ssh、scp tcp 22
    NTP时间同步服务 udp 123
    telnet远程登录 tcp 23
    smtp email客户端 tcp 25
    POP3 tcp 110
    dns服务器与客户端交互 udp 53
    dns服务器与辅助域名服务器交互 tcp 53
    TFTP udp 69
    NNTP tcp 119
    IMAP3 tcp 220
    nfs默认udp,可以设置tcp udp 2049(默认)
    vnc(默认端口5900,真正访问端口=5900+1) tcp 5901
    http tcp 80
    https tcp、udp 443
    tomcat   8080
    oracle数据库   1521
    mysql数据库   3306
    sql server对外服务 tcp 1433
    sql server接收请求者返回的数据 udp 1434

    3、SSH服务作用

      用于Linux下远程连接管理服务器的安全协议。端口号22,C/S架构。

    • 服务端(开启ssh服务):安装软件openssh-server
    • 客户端(专门的客户端工具):Windows(SecureCRT、Mobaxterm);Linux(openssh-clients

    查看默认是否开启自启:

    [root@rhel8 ~]# systemctl list-unit-files | grep "sshd.service"
    anaconda-sshd.service                      static   
    sshd.service                               enabled 

     

    4、修改ssh服务默认端口

    1)查看ssh服务端口

    netstat命令:用于查看网络连接状态
    -n:不显示名称
    -l:查看监听状态
    -t:TCP协议
    -p:查看程序名
    
    [root@rhel8 ~]# netstat -nltp | grep :22
    [root@rhel8 ~]# lsof -i :22
    COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    sshd    1090 root    4u  IPv4  30100      0t0  TCP *:ssh (LISTEN)
    sshd    1090 root    6u  IPv6  30102      0t0  TCP *:ssh (LISTEN)

    2)查看ssh的配置文件

    # -l是留出所有改软件的文件,-c只列出配置文件
    [root@rhel8 ~]# rpm -qc openssh-server
    /etc/pam.d/sshd
    /etc/ssh/sshd_config
    /etc/sysconfig/sshd

    3)修改配置文件

    [root@rhel8 ~]# vi /etc/ssh/sshd_config 
    在17行下添加一行
    Port 10022

    4)重启服务

    [root@rhel8 ~]# systemctl restart sshd.service

    重启时报错根据提示查看日志。如果是权限错误。

    查看防火墙状态是否关闭;

    查看安全连接日志tail -20 /var/log/secure;

    查看系统日志tail -20 /var/log/messages;根据日志提示发现是SELinux问题。

     查看SELinux的设置:需要将其设置为disabled

    [root@rhel8 ~]# setenforce 0
    [root@rhel8 ~]# getenforce 
    Disabled

    最后再重启SSH服务,问题解决。

    5)测试SSH端口是否修改成功

    [root@rhel8 ~]# netstat -nltp | grep sshd
    tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      3709/sshd: root@pts 
    tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN      4454/sshd: root@pts 
    tcp        0      0 0.0.0.0:10022           0.0.0.0:*               LISTEN      4638/sshd           
    tcp6       0      0 ::1:6010                :::*                    LISTEN      3709/sshd: root@pts 
    tcp6       0      0 ::1:6011                :::*                    LISTEN      4454/sshd: root@pts 
    tcp6       0      0 :::10022                :::*                    LISTEN      4638/sshd           
    [root@rhel8 ~]# lsof -i :10022
    COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    sshd    4638 root    5u  IPv4  66057      0t0  TCP *:10022 (LISTEN)
    sshd    4638 root    7u  IPv6  66059      0t0  TCP *:10022 (LISTEN)

    注意:客户端用10022端口连接

    5、基于SSH服务的命令

    1)Linux下客户端工具ssh

      需要先安装client客户单软件:openssh-clients

    # 查看是否安装
    [root@rhel8 ~]# rpm -q openssh-clients
    openssh-clients-8.0p1-3.el8.x86_64
    # 功能1:客户端远程连接登录Linux服务器(ssh服务)端
    ssh 【选项】用户名@远程IP
    选项:
    -l:指定访问用户
    -p:指定端口号
    [root@rhel8 ~]# ssh -p 10022 root@192.168.187.100
    或
    [root@rhel8 ~]# ssh -p 10022 -l root 192.168.187.100
    
    
    # 功能2:客户端远程访问Linux服务器执行相应的命令(未登录)
    ssh 【选项】 远程IP 执行相应命令
    [root@rhel8 ~]# ssh -p 10022 root@192.168.187.100 hostname
    rhel8.tourby.cn

    2)Linux下远程拷贝命令scp

    # 用法1:将本地文件远程拷贝到远程(push)
    scp 【选项】 本地文件 远程服务IP:/路径
    选项:
    -P:端口号
    -r:递归拷贝
    [root@rhel8 ~]# scp -P 10022 -r /tanbaobao/ 192.168.187.100:/root/
    
    # 用法2:将远程文件拷贝到本地(pull)
    scp 【选项】远程服务IP:/文件  本地路径
    [root@rhel8 ~]# scp -P 10022 -r root@192.168.187.100:/root/ /tanbaobao/ 
    
    # 如果拷贝速度慢,可以将远程IP地址加入到/etc/hosts文件下
    # 如果用root以外的用户拷贝提示权限不允许,需要设置chmod或setfacl权限让该用户有可写w的权限
  • 相关阅读:
    python——协程
    解读python中SocketServer源码
    python——初识socket
    python的类和对象——类的静态字段番外篇
    python的类和对象——类成员番外篇
    python的类和对象——进阶篇
    初识python中的类与对象
    python中lambda表达式应用
    python——挖装饰器祖坟事件
    python的基础类源码解析——collection类
  • 原文地址:https://www.cnblogs.com/HeiDi-BoKe/p/13050231.html
Copyright © 2011-2022 走看看