精华内容
下载资源
问答
  • 一、什么是Openssh OpenSSH 是SSH(SecureSHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是...

    一、什么是Openssh   

        OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。

                

    1
    2
    3
    4
    5
    6
    7
    8
    9
    知识延伸:
         ssh协议有两个版本:
             v1:基于CRC-32 做MAC,不安全; (一般用于实现主机认证)
             v2:基于协议协商选择双方都支持的最安全的MAC机制
                 基于DH做密钥交换,基于RSA或DSA实现身份认证,从而实现无需输入账号面膜
                 客户端通过检查服务器端的主机秘钥来判断是否能够继续通信;
         认证方式:
             1、基于口令的认证
             2、基于密钥的认证

        
    二、为什么要使用OpenSSH

        由于传统的telne、rcp ftp等工具是明文传输数据的,对数据安全性存在很大的安全隐患,而OpenSSH可以对传输的数据进行加密从而大大提高了数据的安全性。


    三、OpenSSH程序简介

      1、OpenSSH的分为客户端和服务端两部分

        Clients端的配置文件:/etc/ssh/ssh_config
        Server端的配置文件:/etc/ssh/sshd_config
        Server端服务脚本:/etc/rc.d/init.d/sshd

        OpenSSH在Linux系统中默认是安装并启动的

    1
    2
    3
    4
    5
    openssh 主要的关键包有四个
    openssh.x86_64                       5.3p1-104.el6    //服务端和客户端的公共组件        
    openssh-askpass.x86_64               5.3p1-104.el6    //     
    openssh-clients.x86_64               5.3p1-104.el6    //客户端安装包    
    openssh-server.x86_64                5.3p1-104.el6    //服务端安装包

        openssl-clients  几个常用文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@1inux ssh]# rpm -ql openssh-clients
    /etc/ssh/ssh_config   //客户端配置文件
    /usr/bin/scp     //远程复制文件
    /usr/bin/sftp     //远程文件共享
    /usr/bin/slogin
    /usr/bin/ssh
    /usr/bin/ssh-add
    /usr/bin/ssh-agent
    /usr/bin/ssh- copy -id
    /usr/bin/ssh-keyscan

        openssl-server 几个常用文件

    1
    2
    3
    /etc/rc.d/init.d/sshd
    /etc/ssh/sshd_config
    /etc/sysconfig/sshd


      2、服务器端配置文件/etc/ssh/sshd_config 主要参数详解

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
         服务端配置文件是让别人登陆时使用的
    注:配置文件中使用“#”注释掉的一般就是使用默认
         #Port 22     //默认端口号,为了其安全一般要更改为其他端口
         #AddressFamily any     //说明要监听任意地址
         #ListenAddress 0.0.0.0  //监听本机所有IPV4的ip
         #ListenAddress ::         //监听本机所有的IPV6的地址
          Protocol 2   监听的协议版本
          # HostKey  for  protocol version 1    //说明key的协议版本
         SyslogFacility AUTHPRIV         //使用AUTHPRIV 记录日志  
         #LogLevel INFO     //log日志级别
                     
                     
         # Authentication:             //认证相关
         #LoginGraceTime 2m     //登陆宽限时长  默认2分钟不登录自动关闭
         #PermitRootLogin yes     //是否支持管理员直接登陆
         #StrictModes yes     //是否使用严格模式 (严格检查用户的某些相关信息)
         #MaxAuthTries 6         //最大尝试次数  (6次以后终端断开)
         #MaxSessions 10         //最大并发允许链接数 (超过 将拒绝)
         #RSAAuthentication yes     //是否支持RSA密钥认证
         #PubkeyAuthentication yes     //是否支持公钥认证
         #AuthorizedKeysFile     .ssh/authorized_keys   //默认保存口令的文件
         #PermitEmptyPasswords no         //是否支持空密码登陆
         PasswordAuthentication yes
                     
         UsePAM yes  //是否使用PAM 认证( 是一种统一认证框架)
         X11Forwarding yes      //是否转发图形界面请求 (可以打开远程服务器图形界面)
         Subsystem       sftp    /usr/libexec/openssh/sftp-server  
         #UseDNS yes         //是否允许DNS反解  比较浪费时间一般更改为no
                         /etc/ssh/ssh_known_hosts   //保存已经认可主机的文件


      3、客户端配置文件/etc/ssh/ssh_config 主要参数详解

    1
    2
    3
    4
    5
    6
         客户端配置文件时登陆别人的ssh使用的
         # Host *         //表示连接所有主机
         #   Port 22         //默认连接端口
         #   Cipher 3des         //加密时使用的加密机制
         #   StrictHostKeyChecking ask     //严格的主机秘钥检查 即第一次连接时是否询问
    =============================================================================

    四、客户端ssh的使用
        
        1、ssh的基本语法
            ssh [OPTIONS] [user]@server [COMMAND]
                        
                -l user: 以指定用户身份连接至服务器;默认使用本地用户为远程登录时的用户;
                    ssh user@server
                    ssh -l user server

    1
    2
    3
    4
    5
    6
    7
    8
    [root@1inux ~]# ssh centos@172.16.66.81
    The authenticity of host  '172.16.66.81 (172.16.66.81)'  can't be established.
    RSA key fingerprint is d6:3b:33:71:32:69:7a:dd:47:c2:49:03:ec:03:a1:5e.
    Are you sure you want to  continue  connecting (yes/no)? 
    [root@1inux ~]# ssh -l centos 172.16.66.81
    The authenticity of host  '172.16.66.81 (172.16.66.81)'  can't be established.
    RSA key fingerprint is d6:3b:33:71:32:69:7a:dd:47:c2:49:03:ec:03:a1:5e.
    Are you sure you want to  continue  connecting (yes/no)?

                -p PORT:指明要连接的端口:

    1
    2
    3
    4
    [root@1inux ~]# ssh -p 22 -l centos 172.16.66.81
    The authenticity of host  '172.16.66.81 (172.16.66.81)'  can't be established.
    RSA key fingerprint is d6:3b:33:71:32:69:7a:dd:47:c2:49:03:ec:03:a1:5e.
    Are you sure you want to  continue  connecting (yes/no)?

                    
                -X :启用X11Forwarding,即转发X界面的请求;
                -x: 禁用;
                -Y:  启用信任的X11Forwarding

        2、ssh 基于秘钥的认证
            2.1、ssh-keygen语法:
               ssh-keygen [OPTIONS]
                
                -t {rsa|dsa} 密钥类型 一般使用rsa
                -b # 指明密钥长度
                -f /PATH/TO/OUTPUT_KEYFILE  指明密钥文件
                -P '' :指明加密密钥的密码,表示使用空密码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    [root@1inux ~]# ssh-keygen -t rsa     //生成密钥对
    Generating  public / private  rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_90   //定义保存的密钥文件名
    Enter passphrase ( empty  for  no passphrase):          //要求对生成的密钥对加密,也可以不加密  输入两次回车就OK 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_90.         //说明已经生成密钥
    Your  public  key has been saved in /root/.ssh/id_90.pub.         //说明已经生成公钥
    The key fingerprint is:
    7a:17:b3:e7:6f:54:a1:30:23:62:7c:04:37:10:52:08 root@1inux
    The key's randomart image is:
    +--[ RSA 2048]----+
    |   E..+==+       |
    |     ..+.o.+   . |
    |      . o . + . .|
    |             .  .|
    |        S o    . |
    |       .   +  .  |
    |      . . o ..   |
    |       . . o  .  |
    |            .o.  |
    +-----------------+
    [root@1inux ~]# 
    [root@1inux ~]# ls .ssh/
    id_90  id_90.pub  known_hosts
    [root@1inux ~]# 
    -------------------------

    也可以指明秘钥路径 及密码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    [root@1inux .ssh]# ssh-keygen -t rsa -f /root/.ssh/id_rsa -P  ''   //经测试 名字必须为id_rsa
    Generating  public / private  rsa key pair.
    Your identification has been saved in /root/.ssh/id_rsa.
    Your  public  key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    33:c3:f8:f3:2c:ed:88:cc:db:7a:97:5f:d0:de:ce:d9 root@1inux
    The key's randomart image is:
    +--[ RSA 2048]----+
    |                 |
    |                 |
    |                 |
    |       o     .   |
    |      . S   . .  |
    |       . +   o . |
    |        o. .  o .|
    |     o oo=+  . oo|
    |      *+o++..  .E|
    +-----------------+
    [root@1inux ~]# ls .ssh/
    id_rsa  id_rsa.pub  id_www  id_www.pub  known_hosts
    [root@1inux ~]#

    ----------------------------
            2.2、把公钥部分复制到要登陆远程主机的特定用户(可不同于本地用户)的家目录下,追加保存至.ssh 目录中的authorized_keys文件中;

            
            ssh-copy-id -i /PATH/TO/PUBKEY_FILE [user]@server 
            //使用此命令会自动将公钥复制到目标主机指定用户的家目录下的.ssh/authorized_keys文件中

    1
    2
    3
    4
    5
    6
    [root@1inux ~]# ssh- copy -id -i /root/.ssh/id_rsa.pub henan@172.16.66.81
    henan@172.16.66.81's password: 
    Now  try  logging into the machine, with  "ssh 'henan@172.16.66.81'" and  check in:
       .ssh/authorized_keys
    to make sure we haven 't added extra keys that you weren' t expecting.
    [root@1inux ~]#



            2.3、验证:

    1
    2
    3
    4
    5
    6
    7
    8
    [root@1inux .ssh]# ssh lfs@172.16.66.81
    Last login: Wed Apr  8 14:31:52 2015 from 172.16.66.90
    [lfs@1inux ~]$          //可以看到已经登录成功
    [henan@1inux ~]$ whoami
    henan
    [henan@1inux ~]$ ifconfig | grep  "172.16.66"
               inet addr:172.16.66.81  Bcast:172.16.255.255  Mask:255.255.0.0
    [henan@1inux ~]$

    ***************************

    基于密钥的命令总结
    1、[root@1inux .ssh]# ssh-keygen -t rsa -f /root/.ssh/id_rsa -P '' 
    2、[root@1inux ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub henan@172.16.66.81
    3、 ssh lfs@172.16.66.81
    **************************
            2.4、通过ssh直接执行命令

    1
    2
    3
         [root@1inux ~]# ssh -l henan 172.16.66.81  date     //由于此用于已经基于密钥认证所以没有要求输入密码
         Wed Apr  8 15:01:15 CST 2015
         [root@1inux ~]#

    五、scp远程复制工具的使用简介
        语法:
            scp [OPTIONS] SRC...DEST
        常用选项:
            
            -r: 递归复制,复制目录及内部文件时使用;
            -p: 保存源文件元数据信息中的属主、属组及权限;
            -q: 静默模式
            -P PORT: 指明远程服务器使用的端口;

        两种模式:
            PUSH: scp [OPTIONS] /PATH/FROM/SOMEFILE ... user@server:/PATH/TO/DEST   

                           //复制本地文件至远程主机 (但远程目录一定要有写权限)
            
            PULL: SCP [OPTIONS] user@server:/PATH/FROM/SOMEFILE /PATH/TO/DEST    

                          //远程目标主机文件至本地 
    eg1:复制当前主机上的/etc/ssh/sshd_config至172.16.66.90主机的/tmp/aa目录下

    1
    2
    3
    4
    [root@1inux ~]# scp -p /etc/ssh/sshd_config henan@172.16.66.90:/tmp/aa    
    henan@172.16.66.90's password: 
    sshd_config                                                                  100% 3879     3.8KB/s   00:00    
    [root@1inux ~]#

    eg2:复制远程主机/etc/fstab至当前主机当前目录下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@1inux ~]# ls
    anaconda-ks.cfg  Documents  grub.conf           install.log         Music     Public     Videos
    Desktop          Downloads  henan@172.16.66.90  install.log.syslog  Pictures  Templates
    [root@1inux ~]# scp root@172.16.66.90:/etc/fstab ./
    root@172.16.66.90's password: 
    fstab                                                                        100%  921     0.9KB/s   00:00    
    [root@1inux ~]# ls
    anaconda-ks.cfg  Documents  fstab      henan@172.16.66.90  install.log.syslog  Pictures  Templates
    Desktop          Downloads  grub.conf  install.log         Music               Public    Videos
    [root@1inux ~]#


    六、sftp的使用
        要使用sftp需要编辑/etc/ssh/sshd_config 开启Subsystem 即:
        Subsystem       sftp    /usr/libexec/openssh/sftp-server  

        语法:
            sftp [USER]@server
        常用命令:put get


    eg:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    [root@1inux ~]# sftp root@172.16.66.90
    Connecting to 172.16.66.90...
    root@172.16.66.90's password:          //输入密码
    sftp> help             //可以使用help查看其支持的命令
    Available commands:
    bye                                Quit sftp
    cd path                            Change remote directory to  'path'
    chgrp  grp path                     Change group of file  'path'  to  'grp'
    chmod  mode path                    Change permissions of file  'path'  to  'mode'
    chown  own path                     Change owner of file  'path'  to  'own'
    df [-hi] [path]                    Display statistics  for  current directory  or
                                        filesystem containing  'path'
    exit                                Quit sftp
    get [-P] remote-path [local-path]  Download file
    help                               Display this help text
    lcd path                           Change local directory to  'path'
    lls [ls-options [path]]            Display local directory listing
    lmkdir path                        Create local directory
    ln oldpath newpath                 Symlink remote file
    lpwd                                Print  local working directory
    ls [-1aflnrSt] [path]              Display remote directory listing
    lumask umask                       Set local umask to  'umask'
    mkdir  path                         Create remote directory
    progress                           Toggle display of progress meter
    put [-P] local-path [remote-path]  Upload file
    pwd                                Display remote working directory
    quit                               Quit sftp
    rename oldpath newpath             Rename remote file
    rm path                             Delete  remote file
    rmdir  path                         Remove remote directory
    symlink oldpath newpath            Symlink remote file
    version                            Show SFTP version
    !command                           Execute  'command'  in local shell
    !                                  Escape to local shell
    ?                                  Synonym  for  help
    =====================================================================================

    七、增强服务端sshd配置指南
            1、不要使用默认端口;(修改默认端口为其他端口)
                      配置文件:/etc/ssh/sshd_config    
                                    Port 22
                            service sshd restart   //修改后需要重启服务
            2、不要使用v1版本协议:
                    Protocol 2                 
            3、限制可登陆的用户 {需要添加}
                 AllowUsers:允许登陆的用户白名单 (多个用户使用空格隔开)
                 AllowGroups:允许登陆的组的白名单                    
                 DenyUsers
                 DenyGroups                    
                 /etc/ssh/sshd_config
                    
                  # service sshd reload 
                  ==》 获取配置文件详细信息;【 man sshd_conifg 】
            4、设定空闲会话超时时长:
            5、利用防火墙设置ssh访问策略:
                限定ssh服务仅允许vpn服务器分配有限的地址段内的主机访问                
            6、仅监听特定的IP地址:            
            7、使用强密码策略:                

    1
    2
             [root@1inux ssh]# tr -dc A-Za-z0-9 < /dev/urandom | head -c 30 | xargs
             Qe6zOmB2sBNpEONVcKhWS8T4bVrcb0


            8、使用基于密钥的认证;            
            9、禁止使用空密码            
            10、禁止root直接登陆
                        PermitRootLogin no 
            11、限制ssh的访问频度            
            12、做好日志、经常做日志分析
                /var/log/secure 

    OK  OpenSSH 已经告一段落,不足之处还请指正.欢迎补充...........


    本文转自 1inux 51CTO博客,原文链接:http://blog.51cto.com/1inux/1638880

    展开全文
  • Openssh一组实用程序使我们能够在计算机之间创建安全的加密连接。在本教程中,我们将介绍一些最有用的选项,我们可以使用这些选项来更改sshd,Openssh守护程序以使您的Linux系统管理工作更轻松。在本文中,我们...

    的Openssh一组实用程序使我们能够在计算机之间创建安全的加密连接。在本教程中,我们将介绍一些最有用的选项,我们可以使用这些选项来更改sshd,Openssh守护程序以使您的Linux系统管理工作更轻松。

    在本文中,我们假设已经存在一个正在运行且可访问的服务器。如果您想了解有关Openssh安装的更多信息,可以看一下本文。如何在Ubuntu Linux上安装SSH服务器。

    在本教程中,您将学习:

    如何通过操作主ssh配置文件中的选项来自定义sshd守护程序的行为/etc/ssh/sshd_config

    如何更改服务器使用的默认端口

    如何更改服务器侦听的地址

    如何更改最大SSH登录时间

    如何允许或拒绝以root用户身份登录

    如何更改最大登录尝试次数和打开的最大会话数

    用户尝试向服务器进行身份验证时如何显示消息

    如何启用/禁用密码和公钥认证

    如何启用/禁用HostBasedAuthentication

    启用/禁用X11转发

    e988fee372e901441f63a47c80b75541.png

    使用的软件要求和约定

    软件要求和Linux命令行约定

    类别

    使用的要求,约定或软件版本

    系统

    Distribution-independent

    软件

    除Openssh外,无需其他软件即可遵循本教程

    其他

    正在运行的Openssh服务器

    约定

    #-要求linux命令可以直接以root用户身份或通过使用root特权以root特权执行sudo命令$-要求linux命令以普通非特权用户身份执行

    sshd守护程序配置文件

    默认情况下sshd,Openssh守护程序,从/etc/ssh/sshd_config文件。可以使用以下命令指定其他文件路径-f启动守护程序时的选项。我们可以更改许多选项以更改守护程序的行为。尽管这里不可能一一列举,但我们将看到一些最常用的方法,以及通过更改其值可以获得的方法。每次更改选项时,为了使更改生效,应该重新启动守护程序。使用systemd时,要运行的命令是:

    $ sudo systemctl restart sshd

    更改服务器使用的端口

    这就是所谓的security through obscurity测量:默认情况下sshd守护程序监听端口22。更改使用中的端口本身并不能提高安全性,因为进行端口扫描并查看计算机正在使用哪些端口很简单。但是,暴力登录尝试通常仅将默认端口作为目标,因此修改使用中的端口通常会有所帮助。为了指示守护程序侦听特定端口,我们使用Port选项并提供端口号:

    Port 1024

    可以提供多次出现的选项:服务器将在所有指定的端口上侦听。在重新启动ssh服务器以使更改生效之前,根据更改修改防火墙规则确实很重要。在客户端,要使用特定端口进行连接,我们必须使用-p选项(–port的缩写)。例如,要使用端口1024登录,我们将编写:

    $ ssh -p 1024 egdoc@feanor

    为避免每次连接服务器时都必须指定端口,我们可以在~/.ssh/config文件(我们可能必须创建它,因为默认情况下它不存在,并且我们必须使其只能由用户访问),如以下示例所示:

    Host feanor

    HostName 192.168.0.39

    Port 1024

    这样,每次我们都会尝试ssh匹配Host(在这种情况下,主要功能是ssh config文件的相关节中指定的参数)将自动应用。

    更改服务器侦听的地址

    除了港口sshd守护程序侦听,我们也可以更改listen address。默认情况下,服务器侦听所有本地地址。可以在ssh配置文件中找到与此选项一起使用的语法示例:

    #ListenAddress 0.0.0.0

    #ListenAddress ::

    我们可以通过以下方式之一指定地址:

    主机| IPv4地址| IPv6地址

    主机| IPv4地址:端口

    主机| IPv6地址:端口

    使用的选项称为ListenAddress为了指定多个地址,允许多次出现该选项。我们可以用IPv4要么IPv6地址,并可选地指定要使用的端口。如果我们不指定端口,sshd守护程序将侦听由Port我们在上面看到的选项。

    更改最大登录时间

    我们可以配置Openssh如果用户未成功登录,守护程序将在指定的时间后断开连接。在这种情况下,将调用我们要更改的选项LoginGracetime。我们要做的就是提供时间限制值,例如:

    LoginGracetime 2m

    此选项的默认值为120s(秒)

    以root身份允许或拒绝登录

    通过使用PermitRootLogin我们可以确定是否sshd守护程序应允许root用户直接登录。该选项接受以下值之一:

    没有

    prohibit-password

    forced-commands-only

    前两个值是漂亮的self-explanatory。使用时yes使用时,允许root用户通过ssh登录no这种可能性被否认。的prohibit-password和forced-commands-only值更有趣。

    当前者用作PermitRootLogin选项,密码和键盘交互式登录被禁用,但是root用户可以使用public key。如果forced-commands-only使用,而是允许通过公共密钥身份验证的root登录,但前提是command选项在授权密钥中指定。例如:

    command="ls -a" ssh-rsa [...]

    上面我们指定了ls -a作为将由root使用的ssh密钥的命令。这样,使用键进行连接时,将执行命令,然后将关闭与服务器的连接。让我们验证一下(这里我假设密钥已经在客户端上并且已经在服务器上被授权):

    $ ssh root@feanor

    Enter passphrase for key '/home/egdoc/.ssh/id_rsa':

    . .. .bash_history .bashrc .profile .ssh .vim .viminfo

    Connection to feanor closed.

    更改最大登录尝试次数和打开的最大会话数

    我们可能要更改的另外两个参数是每个连接尝试登录的次数,以及允许的打开的Shell,登录或子系统会话的数量。我们可以使用MaxAuthTries选项,提供允许的尝试次数(默认值为6)。相反,可以通过使用MaxSessions选项。此选项也采用整数值,默认值为10。

    当用户尝试向服务器认证时显示一条消息

    我们可以使用Banner选项,以指定包含一些文本的文件,该文件我们要在用户验证服务器之前发送给用户。该选项的默认值为none,因此不会显示横幅。这是一个例子。我们创建的/etc /ssh /banner文件包含一些用作消息的文本。如果我们将选项设置如下:

    Banner /etc/ssh/banner.txt

    当我们尝试登录时,会得到以下结果:

    $ ssh egdoc@feanor

    ###############################

    # Test Banner #

    ###############################

    egdoc@feanor's password:

    启用/禁用密码和公钥认证。

    的sshd守护程序提供了多种验证用户身份的方法。我们可以选择分别使用密码或公共密钥启用或禁用身份验证PasswordAuthentication和PubkeyAuthentication选项。默认情况下,两个选项通常都设置为yes:这意味着用户可以通过提供密码并使用自己拥有的公共密钥连接到服务器(密钥也可以用密码保护)。要禁用两个选项之一,我们只需使用no作为价值。例如,如果只想允许通过公共密钥登录,则可以设置:

    PasswordAuthentication no

    这样,只有拥有public key授权密钥文件中包含的内容将能够登录到服务器。授权密钥文件是包含允许的公共密钥的文件。默认情况下,文件为.ssh/authorized_keys在服务器上用户的主目录中,但是可以使用AuthorizedKeysFile选项并指定替代文件,提供absolute或一个relative路径。使用相对路径时,它被认为是相对于用户主目录的。该选项也可以设置为none:这样,服务器将不会在文件中搜索公钥。

    启用/禁用基于主机的身份验证

    可以将Openssh服务器设置为接受host-based身份验证。使用这种类型的身份验证时,主机代表所有或部分用户进行身份验证。该选项设置为no默认情况下。将选项设置为yes不足以使基于主机的身份验证起作用。

    启用/禁用X11转发

    的X11窗口系统具有client-server体系结构:客户端是许多图形应用程序,请求连接到管理显示的服务器。 X11服务器及其客户端通常在同一台计算机上运行,​​但这不是必需的。可以通过专用但不安全的协议访问远程X11服务器。Openssh让我们安全地运行连接,创建一个加密的隧道。控制此行为的选项是X11Forwarding。通常默认情况下禁用此功能,因此将其设置为no。

    我们必须将选项设置为yes如果我们想利用它。在客户端,我们通过使用-X命令行中的选项,或设置ForwardX11至yes在客户端配置文件中。例如,假设我们在远程计算机上运行了X11。我们想使用ssh连接来启动”pluma”应用程序(轻量级文本编辑器)并使用X11Forwarding对其进行控制。我们跑:

    $ ssh egdoc@feanor -X pluma

    该程序将启动。在标题栏中,我们可以清楚地看到它正在”feanor”上运行,这是远程计算机的名称。

    fbb935139800b0c1b103650fa3970a4f.png

    X11转发实战

    结论

    在本教程中,我们看到了默认值sshd守护程序配置文件,我们了解了如何通过使用-f服务启动时的选项。我们还看了一些我们可以在上述文件中使用的,更改sshd行为的最有用的选项。我们看到了如何允许或拒绝基于密码的认证和基于public-key的认证。如何启用或拒绝root登录;如何启用或禁用X11转发功能以及如何在用户尝试对其进行身份验证时使服务器显示消息。

    我们还看到了如何指定每个连接允许的最大登录尝试次数,以及如何更改服务器侦听的地址和端口。要了解有关可能的服务器配置的更多信息,请查阅sshd和sshd_config配置文件的手册页。

    展开全文
  • 根据网上教程,在可选功能中添加OpenSSH服务器,但是一直报错,网上也没有查到原因,最后只能手动下载再来安装了 安装OpenSSH Server GitHub地址:https://github.com/PowerShell/Win32-OpenSSH/releases 1.下载...

    解决0x80072ee6错误在这里插入图片描述

    根据网上教程,在可选功能中添加OpenSSH服务器,但是一直报错,网上也没有查到原因,最后只能手动下载再来安装了

    安装OpenSSH Server

    GitHub地址:https://github.com/PowerShell/Win32-OpenSSH/releases
    1.下载OpenSSH-Win64.zip
    2. 将解压之后的OpenSSH-Win64.zip放入至C:\Program Files (x86)\OpenSSH-Win64
    3.以管理员权限打开cmd
    4.输入以下命令,安装sshd

    cd "C:\Program Files (x86)\OpenSSH-Win64"
    powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
    

    5.设置服务自动启动并启动服务

    sc config sshd start= auto
    net start sshd
    

    本地测试

    ssh localhost
    在这里插入图片描述
    密码是自己微软账号的密码
    在这里插入图片描述
    连接成功了
    在这里插入图片描述
    输入exit退出

    展开全文
  • openssh和sshRemote access is the main method while managing Linux systems. Remote access must be secured accordingly. OpenSSH suite which implements Ssh provides this security with server and client ...
    openssh和ssh

    openssh和ssh

    Remote access is the main method while managing Linux systems. Remote access must be secured accordingly. OpenSSH suite which implements Ssh provides this security with server and client side. OpenSSH also provides auxiliary tools to make copying or identity management easily and securely. OpenSSH servers run by default TCP port 22. We call it generally ssh port. Ssh port number is know for the whole world so attackers can attack to beat our OpenSSH server like brute forcing.

    远程访问是管理Linux系统时的主要方法。 必须相应地保护远程访问。 实现Ssh的OpenSSH套件通过服务器和客户端提供了这种安全性。 OpenSSH还提供了辅助工具,可轻松安全地进行复制或身份管理。 OpenSSH服务器默认运行TCP端口22。我们通常将其称为ssh端口。 SSH端口号为全世界所知,因此攻击者可以像蛮力攻击一样攻击击败我们的OpenSSH服务器。

    从Ssh配置获取Ssh服务器端口号 (Get Ssh Server Port Number From Ssh Configuration)

    Ssh server configuration file can be found at /etc/ssh/sshd_config . We will find related configuration line like below.

    SSH服务器配置文件可以在/ etc / ssh / sshd_config中找到。 我们将找到相关的配置行,如下所示。

    $ grep Port /etc/ssh/sshd_config  
    #Port 22 
    #GatewayPorts no 
    
    
    $grep Listen /etc/ssh/sshd_config      
    #ListenAddress 0.0.0.0 
    #ListenAddress ::
    
    Get Ssh Server Port Number From Ssh Configuration
    Get Ssh Server Port Number From Ssh Configuration
    从Ssh配置获取Ssh服务器端口号

    We can see that default configuration is used for ports because they are commented.

    我们可以看到端口使用了默认配置,因为它们已被注释。

    更改Ssh服务器端口号 (Change Ssh Server Port Number)

    We will open configuration file and add line below

    我们将打开配置文件并在下面添加行

    Port 2134
    

    Keep in mind be sure there is no other application using this port.

    请记住,没有其他应用程序在使用此端口。

    重新启动Ssh Server以应用配置 (Restart Ssh Server To Apply Configuration)

    We have changed the configuration but in order to make the new configuration effective we need to restart the SSH service. During restart the SSH service will read its configuration where the new port is  2134 is listening.

    我们已经更改了配置,但是为了使新配置生效,我们需要重新启动SSH服务。 在重新启动期间,SSH服务将读取其配置,其中新端口2134正在监听。

    $ sudo systemctl restart sshd
    

    检查新端口 (Check New Port)

    There are different ways to check new SSH port. In this example we will use netstat command with the options -tln which means list TCP ports listening.

    有多种检查新SSH端口的方法。 在此示例中,我们将使用带有-tln选项的netstat命令,这意味着列出正在侦听的TCP端口。

    $ netstat -tln | grep 2134
    tcp        0      0 0.0.0.0:2134              0.0.0.0:*               LISTEN      
    tcp6       0      0 :::2134                   :::*                    LISTEN
    

    使用不同的端口号连接Ssh (Connect Ssh With Different Port Number)

    By default while using ssh command we do not provide the port number 22 explicitly. ssh command assumes the port number 22. But what if we need to connect ssh server which port is different than 22. We will specify port number with -p option. In this example we will connect port number 2134

    默认情况下,使用ssh命令时,我们不明确提供端口号22。 ssh命令假定端口号为22。但是,如果我们需要连接端口号不同于22的ssh服务器怎么办,我们将使用-p选项指定端口号。 在此示例中,我们将连接端口号2134

    $ ssh -p 2134 poftut.com
    

    如何在Linux中更改OpenSSH SSH服务器端口号? 信息移植 (How To Change OpenSSH SSH Server Port Number In Linux? Infografic)

     How To Change OpenSSH SSH Server Port Number In Linux? Infografic
    How To Change OpenSSH SSH Server Port Number In Linux? Infografic
    如何在Linux中更改OpenSSH SSH服务器端口号? 信息移植
    LEARN MORE  Introduction To Ansible
    了解更多Ansible简介

    翻译自: https://www.poftut.com/how-to-change-openssh-ssh-server-port-number-in-linux/

    openssh和ssh

    展开全文
  • 获取帮助信息 sftp [user@]host sftp> help 11、SSH端口转发 SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是,SSH 还能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了...
  • 如何使用OpenSSH在Windows中设置SFTP服务器 此过程由两部分组成:安装OpenSSH并打开SSH端口以使SFTP正常工作。 安装OpenSSH(并激活所需的服务) --从GitHub下载OpenSSH。 --将存档解压缩到Program Files文件夹。 -...
  • 背景经常会遇到在不同服务器之间传输文件,Linux和Linux之间用命令rsync, windows和linux之间普遍是有图形化界面的ftp软件,老黄平时用的比较多的是FileZilla。Windows和Windows之间的话,90%都是在一台机器复制,...
  • 所以你可以免费获得更好的安全性,那么win10系统下怎么使用OpenSSH设置SFTP服务器呢?具体解决步骤如下。Win10系统使用OpenSSH设置SFTP服务器的方法:此过程由两部分组成:安装OpenSSH并打开SSH端口以使SFTP正常...
  • openssh

    2021-09-25 23:11:00
    服务器端配置文件/etc/ssh/sshd_config 主要参数详解6. ssh 示例7. SSH 主机密钥8. 配置基于 SSH 密钥的身份验证9. scp远程复制工具的使用简介10. 自定义 SSH 服务配置11. SSH 安全注意事项 openssh 1. openssh简介...
  • OpenSSH是SSH协议的实现。建议使用OpenSSH进行远程登录,备份,通过scp或sftp进行远程文件传输等等。...此页面显示如何保护在Linux或类Unix系统上运行的OpenSSH服务器,以提高sshd安全性。   OpenSS...
  • openssh升级

    千次阅读 2020-12-14 10:55:05
    由于openssh依赖于openssl所以升级openssh的同时需要一并升级openssl,目前这里升级的版本为openssh-8.0p1和openssl-1.0.2r.在升级的时候由于是通过源码编译的方式进行升级的所以还需要一些其他的依赖包。这些依赖包...
  • Open Secure Shell(OpenSSH)是网络连接工具SSH协议套件的开源版本。 这些工具提供经过身份验证和加密的外壳程序功能。 Shell是命令语言解释器,可从命令行字符串,stdin或文件中读取输入。 为什么要使用OpenSSH?...
  • 而很多Linux服务器都配置了Openssh服务,在获取root权限的情况下,可以通过修改或者更新OpenSSH代码等方法,截取并保存其SSH登录账号密码,甚至可以留一个隐形的后门,达到长期控制linux服务器的目的。在很多Linux...
  • 许多网络程序,如telnet、rsh、rlogin或rexec,用明文 (plain text)传送口令和秘密的信息,所以就可利用任何连接到网络上的计算机监听这些程序和服务器之间的通信并获取口令和秘密信息。现在, telnet程序对于...
  • Openssh 8.4 RPM包制作 介绍 openssh是日常使用linux系统最常用的组件,会经常出现漏洞,针对这些漏洞需要修复。一般采用更新openssh的方式修复漏洞。 当机器较少是一台一台的编译安装比较轻松,当机器达到几十上百...
  • 文章目录 前言 主机配置 向日葵远程控制(协助) openssh客户端 vscode集成开发环境 服务器配置 向日葵远程控制(协助) openssh服务器端 Ngrok内网穿透 待解决的问题/疑问 前言 博主目前大四,就读于长沙某985大学...
  • 它包括一个客户端ssh和服务器sshd ,文件传输实用程序scp和sftp以及密钥生成工具( ssh-keygen ),运行时密钥存储工具( ssh-agent )和许多支持程序。 这是OpenBSD的移植到大多数类似Unix的操作系统,包括Linux...
  • openSSH

    2019-01-08 08:36:36
    openSSH openSSH简介 OpenSSH这一术语指系统中使用的Secure Shell软件的软件实施。用于在远程系统上安全运行shell。如果您在可提供ssh服务的远程Linux系统中拥有用户帐户,则ssh是通常用来远程登录到该系统的命令...
  • OpenSSH使用

    2018-06-18 21:55:07
    删除服务器获取的公钥 $ ssh-keygen -R 服务器IP地址 修改OpenSSH登录密码 登录状态下 $ passwd 复制代码 SSH公钥登录 除了可以密码登录,也可以免密登录 公钥登录的原理 : 客户端将公钥发给服务端 ...
  • 在windows系统上使用ssh进行远程连接到一台Linux服务器: ssh -i C:\Users\i042416.ssh\KOI.pem -L 9221:localhost:9229 ubuntu@ec2-18-222-162-171.us-east-2.compute.amazonaws.com 日志如下,逐行分析。 //这是我...
  • OpenSSH

    2020-10-12 15:45:49
    1.1 OpenSSH 简介 OpenSSH这一术语指系统中使用的Secure Shell软件的软件实施。用于在远程系统上安全运行shell。如果您在可提供ssh服务的远程Linux系统中拥有用户帐户,则ssh是通常用来远程登录到该系统的命令。ssh...
  • 下面两个链接可获取安装部署方式 如果之前升级采用源码方式安装的,可进入安装目录进行卸载 make uninstall make clean 然后在进行安装 下面两个链接是两种部署方式 rpm包管理安装部署方式 源码安装部署方式 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,455
精华内容 4,982
关键字:

获得服务器的openssh