精华内容
参与话题
问答
  • OpenSSH的安装、使用

    万次阅读 2018-06-17 11:59:05
    因为SSH受版权和加密算法的限制,现在很多人都转而使用OpenSSHOpenSSH(Open Secure Shell,开放安全Shell)是SSH的替代软件,而且是免费的。OpenSSH默认使用RSA密钥,它采用安全、加密的网络连接工具代替telnet、...

    因为SSH受版权和加密算法的限制,现在很多人都转而使用OpenSSH。OpenSSH(Open Secure Shell,开放安全Shell)是SSH的替代软件,而且是免费的。OpenSSH默认使用RSA密钥,它采用安全、加密的网络连接工具代替telnet、ftp、rlogin、rsh和rcp工具。

    1、安装

    1.1 服务器端安装

    需要安装的软件:
    openssh-server:服务器端
    openssh:服务器端与客户端核心文件

    1.2 客户端安装

    需要安装的软件:
    openssh:服务器端与客户端核心文件
    openssh-clients : 客户端

    可通过如下命令找到上述软件:

    [root@localhost ~]# yum search openssh
    openssh.x86_64 : An open source implementation of SSH protocol versions 1 and 2
    openssh-clients.x86_64 : An open source SSH client applications
    openssh-server.x86_64 : An open source SSH server daemon

    然后采用如下命令安装相关软件:

    [root@localhost ~]# yum install openssh.x86_64

    注意:如果一台机器既要做客户端又要做服务器端,就需要在该系统中安装上述三个软件包;CentOS 7中默认已安装好上述三个软件包。

    2、使用

    2.1 远程登陆主机

    1、远程主机登陆(首次登陆)

    [hadoop@localhost ~]$ ssh 192.168.112.130
    The authenticity of host '192.168.112.130 (192.168.112.130)' can't be established.
    ECDSA key fingerprint is ff:7b:94:49:f5:2d:d3:59:23:c7:a8:cf:b0:d6:e4:b9.
    Are you sure you want to continue connecting (yes/no)? yes # 再次登陆不会有这个提示
    Warning: Permanently added '192.168.112.130' (ECDSA) to the list of known hosts.
    hadoop@192.168.112.130's password: 

    2、指定用户名登陆

    [hadoop@localhost home]$ ssh -l root 192.168.112.130
    root@192.168.112.130's password: 
    Last login: Sat Jun  9 15:18:44 2018 from 192.168.112.131

    2.2 远程拷贝

    1、本地文件拷贝到远程主机

    [root@localhost ~]# scp anaconda-ks.cfg root@192.168.112.131:/tmp
    root@192.168.112.131's password: 
    anaconda-ks.cfg                                         100% 1704     1.7KB/s   00:00

    2、远程主机文件拷贝到本地

    [root@localhost ~]# scp  root@192.168.112.130:/tmp/anaconda-ks.cfg  /root
    root@192.168.112.130's password: 
    anaconda-ks.cfg                   100% 1704     1.7KB/s   00:00 

    3、免密远程登陆及免密远程拷贝设置

    为什么设置免密登录及远程拷贝?

    • 方便操作,处理快速;
    • 计算机集群中机器之间有频繁的数据交换需求。

    设置方法:(假设A、B计算机要进行加密通信)

    • A计算机root用户的命令行输入ssh-keygen –t rsa,生成密钥对;
    • 若B计算机授权给A免密钥登录B,则将A计算机的公钥放入B计算机的authorized_keys文件中。

    通俗理解设置:将计算机的信任关系与人之间的信任关系作类比。张三若信任李四,则表示李四在张三的受信任名单的列表中(类比A计算机的公钥放到B计算机的authorized_keys文件中)。

    具体操作如下:

    A计算机中运行:
    [root@localhost ~]# ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): [回车]
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 【回车】
    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:【回车】
    SHA256:ZZX5VDHOPcyyXq74ogpPKDea2FThfQxqWaSL0g0QUZc root@localhost.localdomain
    The key's randomart image is:
    +---[RSA 2048]----+
    | ++. ...    .o +o|
    …
    |  . o . .   . o  |
    |   o = .     . . |
    |  + = =    .. .  |
    | . +   o....oo   |
    +----[SHA256]-----+
    
    [root@localhost ~]# cd ~/.ssh/
    [root@localhost .ssh]# cat id_rsa.pub >>authorized_keys
    [root@localhost .ssh]# chmod 600 authorized_keys
    [root@localhost .ssh]# scp authorized_keys root@192.168.112.131:/root/.ssh
    root@192.168.112.131's password: 
    authorized_keys            100%  408    23.2KB/s   00:00    
    [root@localhost .ssh]# ssh 192.168.112.131
    Last login: Fri Jun  8 21:56:46 2018
    
    展开全文
  • openssh

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

    1.1 OpenSSH 简介

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

    常见的远程登录工具有:

    • telnet
    • ssh
    • dropbear
    telnet   //远程登录协议,23/TCP
        认证明文
        数据传输明文
    
    ssh         //Secure SHell,应用层协议,22/TCP
        通信过程及认证过程是加密的,主机认证
        用户认证过程加密
        数据传输过程加密
        
    dropbear    //嵌入式系统专用的SSH服务器端和客户端工具
    

    1.2 SSH 版本

    openssh有两个版本,分别为v1和v2,其特点如下:
    
    v1:基于CRC-32做MAC,无法防范中间人(man-in-middle)攻击
    v2:双方主机协议选择安全的MAC方式。基于DH算法做密钥交换,基于RSA或DSA算法实现身份认证
    

    1.3 SSH 认证方式

    openssh有两种认证方式,分别是:

    • 基于口令认证
    • 基于密钥认证

    1.4 openSSH 的工作模式

    openSSH是基于C/S架构工作的。
    
    服务器端    //sshd,配置文件在/etc/ssh/sshd_config
    客户端     //ssh,配置文件在/etc/ssh/ssh_config
        ssh-keygen      //密钥生成器
        ssh-copy-id     //将公钥传输至远程服务器
        scp             //跨主机安全复制工具
    
    1.4 Secure Shell 示例
    //以当前用户身份创建远程交互式shell,然后在结束时使用exit命令返回到之前的shell
    
        [root@jxy ~]# ssh root@192.168.93.130
        root@192.168.93.130's password: 
        Last login: Mon Jul  1 10:22:25 2019
        [root@server ~]# exit
        登出
        Connection to 192.168.93.130 closed.
    
    //以远程用户身份(remoteuser)在远程主机(remotehost)上通过将输出返回到本地显示器的方式来执行单一命令
    
        [root@jxy ~]# ip a s eth0
        2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
            link/ether 00:0c:29:cb:3e:e9 brd ff:ff:ff:ff:ff:ff
            inet 192.168.93.129/24 brd 192.168.93.255 scope global eth0
               valid_lft forever preferred_lft forever
            inet6 fe80::20c:29ff:fecb:3ee9/64 scope link 
               valid_lft forever preferred_lft forever
    
    //w命令可以显示当前登录到计算机的用户列表。这对于显示哪些用户使用ssh从哪些远程位置进行了登录以及执行了何种操作等内容特别有用
    
        [root@jxy ~]# w
         10:28:56 up 4 min,  2 users,  load average: 0.04, 0.11, 0.05
        USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
        root     tty1                      10:24    4:00   0.02s  0.02s -bash
        root     pts/0    192.168.93.1     10:25    0.00s  0.05s  0.02s 
    
    

    1.5 SSH 主机密钥

    ssh通过公钥加密的方式保持通信安全。当某一ssh客户端连接到ssh服务器时,在该客户端登录之前,服务器会向其发送公钥副本。这可用于为通信渠道设置安全加密,并可验证客户端的服务器。
    
    当用户第一次使用ssh连接到特定服务器时,ssh命令可在用户的~/.ssh/known_hosts文件中存储该服务器的公钥。在此之后每当用户进行连接时,客户端都会通过对比~/.ssh/known_hosts文件中的服务器条目和服务器发送的公钥,确保从服务器获得相同的公钥。如果公钥不匹配,客户端会假定网络通信已遭劫持或服务器已被入侵,并且中断连接。
    
    这意味着,如果服务器的公钥发生更改(由于硬盘出现故障导致公钥丢失,或者出于某些正当理由替换公钥),用户则需要更新其~/.ssh/known_hosts文件并删除旧的条目才能够进行登录。
    
    //主机ID存储在本地客户端系统上的 ~/.ssh/known_hosts 中
    
        [root@jxy ~]# cat ~/.ssh/known_hosts
        192.168.93.130 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIrTWPGglP87LmTHoLynaACjDniZHovlx2mp0ufpnUP9H+G4zxTEeMt6Mblx4VepXg6pe9u4Myxj09atZ5lPZPg=
        192.168.93.129 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIrTWPGglP87LmTHoLynaACjDniZHovlx2mp0ufpnUP9H+G4zxTEeMt6Mblx4VepXg6pe9u4Myxj09atZ5lPZPg=
    
    //主机密钥存储在SSH服务器上的 /etc/ssh/ssh_host_key* 中
    
        [root@jxy ~]# ls /etc/ssh/*key*
        /etc/ssh/ssh_host_ecdsa_key      /etc/ssh/ssh_host_ed25519_key.pub
        /etc/ssh/ssh_host_ecdsa_key.pub  /etc/ssh/ssh_host_rsa_key
        /etc/ssh/ssh_host_ed25519_key    /etc/ssh/ssh_host_rsa_key.pub
    
    

    2. 配置基于 SSH 密钥的身份验证

    用户可通过使用公钥身份验证进行ssh登录身份验证。ssh允许用户使用私钥-公钥方案进行身份验证。这意味着将生成私钥和公钥这两个密钥。私钥文件用作身份验证凭据,像密码一样,必须妥善保管。公钥复制到用户希望登录的系统,用于验证私钥。公钥并不需要保密。
    使用ssh-keygen命令生成密码。将会生成私钥~/.ssh/id_rsa和公钥~/.ssh/id_rsa.pub。
    
    注意:
    
    生成密钥时,系统将提供指定密码的选项,在访问私钥时必须提供该密码。如果私钥被偷,除颁发者之外的其他任何人很难使用该私钥,因为已使用密码对其进行保护。这样,在攻击者破解并使用私钥前,会有足够的时间生成新的密钥对并删除所有涉及旧密钥的内容。
    
    生成ssh密钥后,密钥将默认存储在家目录下的.ssh/目录中。私钥和公钥的权限就分别为600和644。.ssh目录权限必须是700。
    
    在可以使用基于密钥的身份验证前,需要将公钥复制到目标系统上。可以使用ssh-copy-id完成这一操作
    
        [root@jxy ~]# ssh-copy-id root@192.168.93.130
        /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
        /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
        /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
        root@192.168.93.130's password: 
        
        Number of key(s) added: 1
        
        Now try logging into the machine, with:   "ssh 'root@192.168.93.130'"
        and check to make sure that only the key(s) you wanted were added.
        
        [root@jxy .ssh]# ssh root@192.168.93.130
        Last login: Mon Jul  1 10:27:10 2019 from 192.168.93.129
        [root@server ~]# ls .ssh/
        authorized_keys  known_hosts.gz
        [root@server ~]# cd .ssh/
        [root@server .ssh]# ls
        authorized_keys  known_hosts.gz
        [root@server .ssh]# ll
        总用量 8
        -rw-------. 1 root root 390 7月   1 11:22 authorized_keys
        -rw-r--r--. 1 root root 187 3月  30 22:38 known_hosts.gz
        
        通过ssh-copy-id将密钥复制到另一系统时,它默认复制~/.ssh/id_rsa.pub文件
        
        //SSH密钥演示
        //使用 ssh-keygen 创建公钥-私钥对
       
         [root@jxy ~]# ssh-keygen -t rsa
            Generating public/private rsa key pair.
            Enter file in which to save the key (/root/.ssh/id_rsa): 
            Enter passphrase (empty for no passphrase): 
            Enter same passphrase again: 
            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:
            SHA256:ZSUvsGzRvMMxtCoVYdaeAMiMSRp1tUoPFgQhtnxlyeE root@jxy
            The key's randomart image is:
            +---[RSA 2048]----+
            |o+=O=*=.B*o .    |
            |o++.B+ =.=*=     |
            |.o .+E. =+==.    |
            |  .o + o +*.     |
            |    . o S  .     |
            |       .         |
            |                 |
            |                 |
            |                 |
            +----[SHA256]-----+
            [root@jxy ~]# cd .ssh/
            [root@jxy .ssh]# ls
            id_rsa  id_rsa.pub  known_hosts  known_hosts.gz
    
    //使用 ssh-copy-id 将公钥复制到远程系统上的正确位置
    
        root@jxy .ssh]# ls
        id_rsa  id_rsa.pub  known_hosts  known_hosts.gz
        [root@jxy .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.93.130
        /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
        /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
        /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
        root@192.168.93.130's password: 
        
        Number of key(s) added: 1
        
        Now try logging into the machine, with:   "ssh 'root@192.168.93.130'"
        and check to make sure that only the key(s) you wanted were added.
        
        [root@jxy .ssh]# ssh root@192.168.93.130
        Last login: Mon Jul  1 11:38:23 2019 from 192.168.93.129
        [root@server ~]# cd .ssh/
        [root@server .ssh]# ll
        总用量 8
        -rw-------. 1 root root 390 7月   1 11:39 authorized_keys
        -rw-r--r--. 1 root root 187 3月  30 22:38 known_hosts.gz
    
    //使用 ssh 命令无命令登录远程主机
    
        [root@jxy ~]# ssh root@192.168.93.130
        Last login: Mon Jul  1 11:43:41 2019 from 192.168.93.129
        [root@server ~]# ip a s eth0
        2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
            link/ether 00:0c:29:0c:0c:44 brd ff:ff:ff:ff:ff:ff
            inet 192.168.93.130/24 brd 192.168.93.255 scope global eth0
               valid_lft forever preferred_lft forever
            inet6 fe80::20c:29ff:fe0c:c44/64 scope link 
               valid_lft forever preferred_lft forever
           
    //使用 scp 命令传送文件到远程主机
    
        [root@jxy ~]# scp 99.sh root@192.168.93.130:/tmp
        99.sh                                  100%  117    91.3KB/s   00:00    
        [root@jxy ~]# ssh root@192.168.93.130
        Last login: Mon Jul  1 11:43:48 2019 from 192.168.93.129
        [root@server ~]# cd /tmp
        [root@server tmp]# ls
        99.sh
    
    //使用 scp 命令从远程主机上下载文件到本地
    
        [root@jxy ~]# ls
        99.sh  1
        [root@jxy ~]# ls
        1
        [root@jxy ~]# scp root@192.168.93.130:/tmp/99.sh .
        99.sh  1                              100%  117    30.6KB/s   00:00   
        [root@jxy ~]# ls
        99.sh
    
    //scp命令常用选项
        -r      //递归复制
        -p      //保持权限
        -P      //端口
        -q      //静默模式
        -a      //全部复制
    

    3. 自定义 SSH 服务配置

    虽然OpenSSH服务器通常无需修改,但会提供其他安全措施,可以在配置文件/etc/ssh/sshd_config中修改OpenSSH服务器的各个方面。
    
    PermitRootLogin {yes|no}    //是否允许root用户远程登录系统
    PermitRootLogin without-password    //仅允许root用户基于密钥方式远程登录
    PasswordAuthentication {yes|no}     //是否启用密码身份验证,默认开启
    

    4. SSH 安全注意事项

    • 密码应该经常换且足够复杂
    
        [root@jxy ~]# tr -dc A-Za-z0-9_ < /dev/urandom | head -c 30 |xargs  //生成30位的密码
        euolfeV0fq8fekM7EjI0wU9bvnAfpa
    
        [root@jxy ~]# openssl rand 20 -base64
        bPciXlkg0BoJ+jYM+YArLY7KcY0=   //生成20位随机密码
    
    
    • 使用非默认端口
    • 限制登录客户端地址
    • 仅监听特定的IP地址
    • 禁止管理员直接登录
    • 仅允许有限制用户登录
    1. AllowUsers
    2. AllowGroups
    • 使用基于密钥的认证
    • 禁止使用空密码
    • 禁止使用SSHv1版本
    • 设定空闲会话超时时长
    • 利用防火墙设置ssh访问策略
    • 限制ssh的访问频度和并发在线数
    • 做好日志的备份,经常分析(集中于某台服务器)
    展开全文
  • openssh远程系统登录

    万次阅读 2018-10-10 13:03:47
    1.openssh 当主机中开启openssh服务时,那么就对外开放了远程连接的接口 openssh服务的服务端: sshd openssh服务的客户端: ssh 2.在客户端连接sshd(服务端)的方式 格式:ssh 服务端用户@...

    openssh远程系统登录

    1.概述

    在Linux系统中,OpenSSH是目前最流行的远程系统登录与文件传输应用,也是传统Telenet、FTP和R系列等网络应用的换代产品。
    其中,ssh(Secure Shell)可以替代telnet、rlogin和rsh,scp(Secure Copy)与sftp(Secure FTP)能后替代ftp。
    
    OpenSSH采用密钥的方式对数据进行加密,确保数据传输的安全。在正式开始传输数据之前,双方首先要交换密钥,当收到对方的数据时,
    再利用密钥和相应的程序对数据进行解密。这种加密的数据传输有助于防止非法用户获取数据信息。
    
    OpenSSH采用随机的方式生成公私密钥。密钥通常只需生成一次,必要时也可以重新制作。
    
    当使用ssh命令登录到远程系统时,OpenSSH服务器的sshd守护进行将会发送一个公钥,OpenSSH客户端软件ssh将会提示用户确认是否接收发送的公钥。
    同时,OpenSSH客户端也会向服务器回传一个密钥,使OpenSSH连接双方的每个系统都拥有对方的密钥,因而能够解密对方经由加密链路发送的加密数据。
    
    OpenSSH服务器的公钥与私玥均存储在/etc/ssh目录中。在OpenSSH客户端,用户收到的所有公钥,
    以及提供密钥的OpenSSH服务器的IP地址均存储在用户主目录下的~/.ssh/known_hosts文件中(.ssh是一个隐藏目录)。
    如果密钥与IP地址不再匹配,OpenSSH将会认为某个环节出了问题。例如,重新安装操作系统或者升级OpenSSH都会导致系统再次生成新的密钥,
    恶意的网络攻击也会造成密钥的变动。因此,当密钥发生变化时,总是应当先了解密钥发生变化的原因,以确保网络访问期间的数据安全。
    

    2.openssh服务

    当主机中开启openssh服务时,那么就对外开放了远程连接的接口
    
    openssh服务的服务端:  sshd
    openssh服务的客户端:  ssh
    

    3.在客户端连接sshd(服务端)的方式

    格式:ssh 服务端用户@服务端ip地址
    
    例如:
    ##在客户端用ssh命令连接172.25.254.130主机的root用户
    [root@localhost ~]# ssh root@172.25.254.130
    The authenticity of host '172.25.254.130 (172.25.254.130)' can't be established.
    ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
    Are you sure you want to continue connecting (yes/no)? 	
    #当当前主机第一次连接陌生主机时,会自动建立.ssh/know_hosts,这个文中记录的是连接过的主机信息
    root@172.25.254.130's password: 			#输入密码连接成功
    Last login: Fri Mar 30 02:05:52 2018 from 172.25.254.66
    [root@localhost ~]# exit				    #表示退出当前连接
    logout
    Connection to 172.25.254.130 closed.
    
    ## -X表示开启图形
    [kiosk@foundation66 Desktop]$ ssh -X root@172.25.254.230
    root@172.25.254.230's password: 
    Last login: Tue Oct  9 07:37:39 2018 from 172.25.254.66
    ##打开摄像头(拍照)
    [root@localhost ~]# cheese
    
    ** (cheese:2969): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-iA6qSfPzfH: Connection refused
    

    在这里插入图片描述

    实验1:远程连接
    
    在虚拟机中:
    ##running表示服务处于开启状态
    [root@localhost ~]# systemctl status sshd.service
    sshd.service - OpenSSH server daemon
       Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
       Active: active (running) since Wed 2018-10-03 02:22:06 EDT; 2min 45s ago
      Process: 1161 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
     Main PID: 1178 (sshd)
       CGroup: /system.slice/sshd.service
               └─1178 /usr/sbin/sshd -D
    
    Oct 03 02:22:06 localhost systemd[1]: Started OpenSSH server daemon.
    Oct 03 02:22:06 localhost sshd[1178]: Server listening on 0.0.0.0 port 22.
    Oct 03 02:22:06 localhost sshd[1178]: Server listening on :: port 22.
    Oct 03 02:24:16 localhost sshd[1598]: Accepted password for root from 172.2...h2
    Hint: Some lines were ellipsized, use -l to show in full.
    在真机中:
    ##此时可以ssh远程连接
    [kiosk@foundation34 Desktop]$ ssh root@172.25.254.134
    root@172.25.254.134's password: 
    Last login: Wed Oct  3 02:24:16 2018 from 172.25.254.34
    在虚拟机中:
    [root@localhost ~]# systemctl stop sshd.service
    ##dead 表示服务已经关闭
    [root@localhost ~]# systemctl status sshd.service
    sshd.service - OpenSSH server daemon                   #开机自启
       Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
       Active: inactive (dead) since Wed 2018-10-03 02:25:12 EDT; 6min ago
      Process: 1178 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=0/SUCCESS)
      Process: 1161 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
     Main PID: 1178 (code=exited, status=0/SUCCESS)
    
    Oct 03 02:22:06 localhost systemd[1]: Started OpenSSH server daemon.
    Oct 03 02:22:06 localhost sshd[1178]: Server listening on 0.0.0.0 port 22.
    Oct 03 02:22:06 localhost sshd[1178]: Server listening on :: port 22.
    Oct 03 02:24:16 localhost sshd[1598]: Accepted password for root from 172.2...h2
    Oct 03 02:25:05 localhost sshd[1629]: Accepted password for root from 172.2...h2
    Oct 03 02:25:12 localhost systemd[1]: Stopping OpenSSH server daemon...
    Oct 03 02:25:12 localhost systemd[1]: Stopped OpenSSH server daemon.
    Hint: Some lines were ellipsized, use -l to show in full.
    在真机中:
    ##此时无法远程连接
    [kiosk@foundation34 Desktop]$ ssh root@172.25.254.134
    ssh: connect to host 172.25.254.134 port 22: Connection refused
    
    实验2:远程操控
    
    此过程并未一直连接234这台主机,一旦操作完成便会自动退出
    ##远程关闭230这台主机的图形
    [root@localhost ~]# ssh root@172.25.254.234 'init 3'
    The authenticity of host '172.25.254.234 (172.25.254.234)' can't be established.
    ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '172.25.254.234' (ECDSA) to the list of known hosts.
    root@172.25.254.234's password:
    

    在这里插入图片描述

    ##远程234开启这台主机的图形
    [root@localhost ~]# ssh root@172.25.254.230 'init 5'
    root@172.25.254.234's password: 
    ^CKilled by signal 2.
    

    在这里插入图片描述

    4.给ssh服务添加新的认证方式 (KEY认证)

    客户端(client):172.25.254.130
    服务端(service):172.25.254.230
    

    (1)更改主机名

    在desktop里:
    [root@localhost Desktop]# hostnamectl set-hostname client
    [root@localhost Desktop]# hostname
    client
    
    在server里:
    [root@localhost ~]# hostnamectl set-hostname service
    [root@localhost ~]# hostname
    service
    

    (2)删除原始配置

    [root@service ~]# rm -rf /root/.ssh/*
    [root@client ~]# rm -rf /root/.ssh/*
    

    (3)在服务端生成锁和钥匙

    1. 生成密钥
    
    方式1:命令的方式
    ##生成密钥
    [root@service ~]# ssh-keygen 
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): #保存加密字符的文件用默认 
    Created directory '/root/.ssh'.
    Enter passphrase (empty for no passphrase): 		 #设定密码;可以为空,如果想为空必须大于4位
    Enter same passphrase again:                             #确认密码
    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:
    00:4f:b0:72:40:9f:a6:fb:91:86:d2:69:bc:7c:75:5f root@localhost
    The key's randomart image is:
    +--[ RSA 2048]----+
    | .o o..          |
    |   o *           |
    |  . * o          |
    |   =   .         |
    |  .     S        |
    | o + .. .   E    |
    |. B +. . . .     |
    | + +..    .      |
    |  o..            |
    +-----------------+
    

    在这里插入图片描述

    方式2:脚本的方式自动生成密钥
    ##删除刚生成的密钥
    [root@service ~]# rm -rf /root/.ssh/*
    ## <<表示输入重定向
    [root@service ~]# vim create_ssh_key.sh
    ###################
    #!/bin/bash
    ssh-keygen <<EOF
    
    
    
    EOF
    

    在这里插入图片描述

    ##执行脚本
    [root@service ~]# sh create_ssh_key.sh
    

    在这里插入图片描述

    [root@service ~]# cd /root/.ssh
    [root@service .ssh]# ls
    id_rsa      id_rsa.pub
    私钥(钥匙)  公钥(锁)
                      
    注意:用脚本的方式自动生成密钥时,必须以开启图形的方式连接虚拟机才能实现
    
    2.在服务端加密ssh用户的认证(一般用公钥)
    
    ##加密root用户认证;注意后边跟的是本机ip
    [root@service .ssh]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.230
    

    在这里插入图片描述

    ##authorized_keys为锁文件;而id_rsa.pub只是生成锁文件模板
    [root@service .ssh]# ls
    authorized_keys  id_rsa  id_rsa.pub  known_hosts
    
    ssh-copy-id -i /root/.ssh/id_rsa.pub   root@172.25.254.230  ##加密认证
    
    参数详解:
    ssh-copy-id				##加密命令
    -i						##指定密钥
    /root/.ssh/id_rsa.pub	##密钥
    root					##加密用户
    172.25.254.200			##主机ip
    

    (3)将私钥发送给客户端

    [root@service .ssh]# ls
    authorized_keys  id_rsa  id_rsa.pub  known_hosts
    [root@service .ssh]# scp /root/.ssh/id_rsa root@172.25.254.130:/root/.ssh
    The authenticity of host '172.25.254.130 (172.25.254.130)' can't be established.
    ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '172.25.254.130' (ECDSA) to the list of known hosts.
    root@172.25.254.130's password: 
    id_rsa                                          100% 1679     1.6KB/s   00:00 
    

    (4)测试

    在客户端:
    [root@client ~]# cd /root/.ssh
    [root@client .ssh]# ls
    id_rsa
    ##免密成功
    [root@client ~]# ssh root@172.25.254.230
    The authenticity of host '172.25.254.230 (172.25.254.230)' can't be established.
    ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '172.25.254.230' (ECDSA) to the list of known hosts.
    Last login: Sun Oct 14 09:07:47 2018 from 172.25.254.66
    [root@service ~]# exit
    logout
    Connection to 172.25.254.230 closed.
    

    在这里插入图片描述

    ##@1若删除私钥后,则此时免密连接失效,但还可以密码连接
    [root@client .ssh]# ls
    id_rsa  known_hosts 
    [root@client .ssh]# rm -rf id_rsa 
    [root@client .ssh]# ssh root@172.25.254.230
    root@172.25.254.230's password: 
    Last login: Sun Oct 14 09:14:48 2018 from 172.25.254.130
    [root@service ~]# exit
    logout
    Connection to 172.25.254.230 closed.
    

    在这里插入图片描述

    ##解决方案:从服务端重新再传一份钥匙即可
    [root@service .ssh]# scp id_rsa root@172.25.254.130:/root/.ssh
    root@172.25.254.130's password: 
    Permission denied, please try again.
    root@172.25.254.130's password: 
    id_rsa                                        100% 1675     1.6KB/s   00:00 
    
    [root@client .ssh]# ls
    id_rsa  known_hosts
    [root@client .ssh]# ssh root@172.25.254.230
    Last login: Sun Oct 14 09:17:40 2018 from 172.25.254.130
    [root@service ~]# exit
    logout
    Connection to 172.25.254.230 closed.
    

    在这里插入图片描述

    ##@2若更改ssh认证服务端的配置(关闭ssh的默认认证方式)
    [root@service ~]# vim /etc/ssh/sshd_config
    #################
    78 PasswordAuthentication no
    

    在这里插入图片描述

    [root@service ~]# systemctl restart sshd
    
    ##如果有钥匙便仍然可以免密连接
    ## known_hosts文件记录了ssh登陆信息;即只要ssh登陆过其他主机便会自动生成此文件
    [root@client .ssh]# ls
    id_rsa  known_hosts
    [root@client .ssh]# ssh root@172.25.254.230
    Last login: Sun Oct 14 09:22:41 2018 from 172.25.254.130
    [root@service ~]# exit
    logout
    Connection to 172.25.254.230 closed.
    

    在这里插入图片描述

    ##如果没有钥匙,则无法连接
    [root@client .ssh]# rm -rf /root/.ssh/id_rsa 
    [root@client .ssh]# ls
    known_hosts
    [root@client .ssh]# ssh root@172.25.254.230
    Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
    

    在这里插入图片描述

    ##解决方案:还原配置/开启ssh的默认认证方式即可
    [root@service ~]# vim /etc/ssh/sshd_config
    #################
    78 PasswordAuthentication yes
    

    在这里插入图片描述

    [root@client .ssh]# ssh root@172.25.254.230
    root@172.25.254.230's password: 
    Last login: Tue Oct  9 09:28:38 2018 from 172.25.254.130
    [root@service ~]# exit
    logout
    Connection to 172.25.254.230 closed.
    

    在这里插入图片描述

    注意:加密ssh用户认证必须在更改ssh认证服务端的配置之前,因为加密操作需要开启ssh的默认认证方式
    
    ##@3在服务端删除锁文件
    [root@service ~]# cd /root/.ssh
    [root@service .ssh]# ls
    authorized_keys  id_rsa  id_rsa.pub  known_hosts
    ##重新发送钥匙
    [root@service .ssh]# scp id_rsa root@172.25.254.130:/root/.ssh
    root@172.25.254.130's password: 
    id_rsa                                        100% 1675     1.6KB/s   00:00  
    ##若锁文件被删除,客户端解密文件失效
    [root@service .ssh]# rm -rf authorized_keys
    [root@service .ssh]# ls
    id_rsa  id_rsa.pub  known_hosts
    

    在这里插入图片描述

    ##此时即使客户端有钥匙,也无法实现免密连接
    [root@client .ssh]# ls
    id_rsa  known_hosts
    [root@client .ssh]# ssh root@172.25.254.230
    root@172.25.254.230's password: 
    

    在这里插入图片描述

    ##解决方案:在服务端copy一份锁文件即可
    ##再次说明id_rsa.pub只是生成锁文件的模板
    [root@service .ssh]# cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
    
    [root@client .ssh]# ssh root@172.25.254.230
    Last login: Tue Oct  9 10:24:07 2018 from 172.25.254.130
    

    在这里插入图片描述

    注意:
    ##默认无法密码连接其他用户(非root用户)
    [root@client .ssh]# ssh student@172.25.254.230
    student@172.25.254.230's password: 
    Permission denied, please try again.
    

    在这里插入图片描述

    ##加密student用户
    [root@service .ssh]# ssh-copy-id -i /root/.ssh/id_rsa.pub student@172.25.254.230
    

    在这里插入图片描述

    ##此时便可以实现免密连接student用户
    [root@client .ssh]# ssh student@172.25.254.230
    Last failed login: Sat Oct 13 09:59:16 EDT 2018 from 172.25.254.230 on ssh:notty
    There were 3 failed login attempts since the last successful login.
    

    在这里插入图片描述

    5.sshd的安全配置

    ##禁止原始认证方式
    vim /etc/ssh/sshd_config
    
    78 PasswordAuthentication yes|no	##开启或关闭ssh的默认认证方式
    48 PermitRootLogin yes|no			##开启或关闭root用户的登陆权限
    
    79 AllowUsers westos				##用户白名单,当前设定是只允许westos登陆
    80 DenyUsers linux					##用户黑名单,当前设定是只不允许linux登陆
    
     实验1:
        ##开启root用户的登陆权限(默认root用户可以的登陆)
        [root@service ~]# vim /etc/ssh/sshd_config
        #################
        48 PermitRootLogin yes
    

    在这里插入图片描述

     [root@service ~]# systemctl restart sshd
    
    [root@client .ssh]# ssh root@172.25.254.230
    Last login: Tue Oct  9 10:55:52 2018 from 172.25.254.66
    [root@service ~]# exit
    logout
    

    在这里插入图片描述

    ##关闭root用户的登陆权限
    [root@service ~]# vim /etc/ssh/sshd_config
    #################
    48 PermitRootLogin no
    

    在这里插入图片描述

    [root@service ~]# systemctl restart sshd
    
    [root@client .ssh]# ssh root@172.25.254.230
    root@172.25.254.230's password: 
    Permission denied, please try again.
    root@172.25.254.230's password: 
    

    在这里插入图片描述

    实验2:
    [root@service ~]# useradd westos
    ##注意:一定要设定密码,否则会影响后续实验
    [root@service ~]# passwd westos
    Changing password for user westos.
    New password: 
    BAD PASSWORD: The password is shorter than 8 characters
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    [root@service ~]# useradd linux
    [root@service ~]# passwd linux
    Changing password for user linux.
    New password: 
    BAD PASSWORD: The password is shorter than 8 characters
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    

    在这里插入图片描述

    ##设定白名单
    [root@service ~]# vim /etc/ssh/sshd_config
    #################
    79 AllowUsers westos
    

    在这里插入图片描述

    [root@service ~]# systemctl restart sshd
    
    [root@client ~]# ssh westos@172.25.254.230
    westos@172.25.254.230's password: 
    Last login: Tue Oct  9 11:23:33 2018 from 172.25.254.130
    [westos@service ~]$ exit
    logout
    Connection to 172.25.254.230 closed.
    [root@client ~]# ssh linux@172.25.254.230
    linux@172.25.254.230's password: 
    Permission denied, please try again.
    linux@172.25.254.230's password:
    

    在这里插入图片描述

     实验3:
    ##设定黑名单
    [root@service ~]# vim /etc/ssh/sshd_config
    #################
    79 #AllowUsers westos
    80 DenyUsers westos
    

    在这里插入图片描述

    [root@service ~]# systemctl restart sshd
    
    [root@client ~]# ssh westos@172.25.254.230
    westos@172.25.254.230's password: 
    Permission denied, please try again.
    westos@172.25.254.230's password: 
    
    [root@client ~]# ssh linux@172.25.254.230
    linux@172.25.254.230's password: 
    Last failed login: Tue Oct  9 11:24:42 EDT 2018 from 172.25.254.130 on ssh:notty
    There was 1 failed login attempt since the last successful login.
    

    在这里插入图片描述

    展开全文
  • OpenSSH的安装和使用

    万次阅读 2017-02-08 11:42:16
    OpenSSH的安装和使用 由于许多网络服务(包括telnet、ftp、http、rsh、rlogin以及其他服务)都可以被电子窃听,我们必须采用安全的方式进行文件移动、权限设置、shell脚本的运行等等。  为了防止攻击者...

    OpenSSH的安装和使用

    由于许多网络服务(包括telnet、ftp、http、rsh、rlogin以及其他服务)都可以被电子窃听,我们必须采用安全的方式进行文件移动、权限设置、shell脚本的运行等等。
            为了防止攻击者窃取每天的网络数据,我们可以安装使用Secure Shell(ssh)。这里就向大家具体介绍如何安装和使用ssh服务器和客户端程序。这里说的openssh是一个网上的免费软件
    Open Secure Shell(openssh)是一个安全的登录系统,可以用来替代telnet、rlogin、rcp等。简单的讲,ssh 是一个通过网络登录进入另一台计算机的程序。
    我们这里的openssh主要支持的算法是RSA--RSA算法指的是Rivest-Shamir-Adelman算法。该算法广泛应用于公钥/私钥加密系统。如果要详细了解这方面的内容,可以查找站点:<http://www.rsa.com>
    在本文中主要讨论openssh服务器的安装、配置和客户端的配置、使用
    一、openssh服务器端的安装及配置
    1.服务器端的安装

    安装方式主要是三种:
    o安装操作系统时候选中要安装“安全服务器”(只有部分操作系统带有此软件包,如红旗linux 2.0服务器版)
    o rpm包方式安装。
    o 源代码方式安装;

    a) 安装操作系统时安装
    在安装操作系统的时候,在选择软件包的时候,选上“安全服务器”,就会在你的服务器上自动安装好openssh服务器。同时在启动的时候会自动启动sshd的进程。服务器端的配置文件在/etc/ssh/sshd-config中,但是此时你不需要对它进行修改。你要做的仅是在客户机上安装客户端程序。

    b) 用rpm包方式安装
    在红旗Linux 2.0中需要的rpm包可以从/mnt/cdrom/RedFlag/RPMS(系统安装盘)中获得,它们是:
    openssh-2.1.1p4-1.i386.rpm
    openssh-clients-2.1.1p4-1.i386.rpm
    openssh-askpass-2.1.1p4-1.i386.rpm
    openssh-askpass-gnome-2.1.1p4-1.i386.rpm
    openssh-server-2.1.1p4-1.i386.rpm
    安装用如下命令:
    #rpm -i openssh-2.1.1p4-1.i386.rpm
    用同样的方法安装其他的四个rpm包,在和a)相同的路径中存放着你所关心的配置文件,当然sshd的主程序在/usr/sbin下。

    c) 源代码方式安装
    openssh的安装首先要求在系统中已经安装了zlib和Openssl。所以我们需要的以下的安装包:(这里的版本最好采用最新的)
            zlib.tar.gz
    openssl-0.9.6a.tar.gz
    openssh-2.5.2p2.tar.gz
    安装步骤如下:
    在/home目录下建立source目录,把以上三个源代码包复制到/home/source目录下,分别对各个包解压缩,再进行相应的configure、make和makeinstall。具体命令如下:
    # mkdir /home/source
    # cp zlib.tar.gz openssl-0.9.6a.tar.gz openssh-2.5.2p2
    .tar.gz /home/source         (接上一行)
    # cd /home/source
    # tar zxvf zlib.tar.gz
    # tar zxvf openssl-0.9.6a.tar.gz
    # tar zxvf openssh-2.5.2p2.tar.gz

    (注:一般安装linux操作系统的时候都安装了zlib库,故这步不是必须的)
    # cd /home/source/zlib-1.1.3
    # ./configure -s
    # make
    # make test
    # make install prefix=/usr

    # cd /home/source/openssl-0.9.6a
    # ./configure -prefix=/home/openssl
    # make
    # make test
    # make install

    # cd /home/source/openssh-2.5.2p2
    # ./configure --with-ssl-dir=/home/openssl --prefix
    =/home/openssh                            (接上一行)
    # make
    # make install

    这样openssh的服务器端就安装完毕,进入/home/openssh的目录,下面的目录结构是这样的:
    bin/  etc/  libexec/  man/  sbin/

    bin/下面存放的是命令集
    scp  sftp  slogin  ssh  ssh-add  ssh-agent  ssh-keygen  ssh-keyscan

    etc/下面存放的是配置文件
    libexec/下面存放的是ftp的主程序
    man/下面是手册
    sbin/下面是ssh的主程序sshd。

    2. 配置openssh服务器
    在安装完ssh后,下一步就是验证(或是修改,如果是必须的)ssh配置文件中的参数。这些配置文件是:
            。/home/openssh/etc/sshd_config (ssh服务器端的配置文件)
            。/home/openssh/etc/ssh_config  (ssh客户端的配置文件)

    sshd_config 是服务器端的配置文件,默认情况下,其内容应该如下:

    # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:
    /sbin:/home3/ssh/bin

    # This is the sshd server system-wide configuration file.  See sshd(8)
    # for more information.

    Port 22
    #Protocol 2,1
    #ListenAddress 0.0.0.0
    #ListenAddress ::
    HostKey /home3/ssh/etc/ssh_host_key
    HostKey /home3/ssh/etc/ssh_host_rsa_key
    HostKey /home3/ssh/etc/ssh_host_dsa_key
    ServerKeyBits 768
    LoginGraceTime 600
    KeyRegenerationInterval 3600
    PermitRootLogin yes
    #
    # Don't read ~/.rhosts and ~/.shosts files
    IgnoreRhosts yes
    # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
    #IgnoreUserKnownHosts yes
    StrictModes yes
    X11Forwarding no
    X11DisplayOffset 10
    PrintMotd yes
    KeepAlive yes

    # Logging
    SyslogFacility AUTH
    LogLevel INFO
    #obsoletes QuietMode and FascistLogging

    RhostsAuthentication no
    #
    # For this to work you will also need host keys in /home3/ssh/etc/ssh_known_hosts
    RhostsRSAAuthentication no
    #
    RSAAuthentication yes

    # To disable tunneled clear text passwords, change to no here!
    PasswordAuthentication yes
    PermitEmptyPasswords no

    # Comment to enable s/key passwords or PAM interactive authentication
    # NB. Neither of these are compiled in by default. Please read the
    # notes in the sshd(8) manpage before enabling this on a PAM system.
    ChallengeResponseAuthentication no

    # To change Kerberos options
    #KerberosAuthentication no
    #KerberosOrLocalPasswd yes
    #AFSTokenPassing no
    #KerberosTicketCleanup no

    # Kerberos TGT Passing does only work with the AFS kaserver
    #KerberosTgtPassing yes

    #CheckMail yes
    #UseLogin no

    #MaxStartups 10:30:60
    #Banner /etc/issue.net
    #ReverseMappingCheck yes

    Subsystem       sftp    /home/openssh/libexec/sftp-server

    我们根据自己的需要修改这个配置,但是一般不需要做修改。
            
    3. 公钥/私钥的产生
      客户机要连接使用SSH协议的主机,除了要有个用户外,还需要针对这个用户的一对密钥,一个是公钥,一个是私钥。产生它们用如下命令:
    下面的粗体字是你要输入的。
    $./ssh-keygen                (假设当前目录是ssh-keygen所在的目录)
    Generating public/private rsa1 key pair.
    Enter file in which to save the key (/home/lusan/.ssh
    /identity): Return(回车)
    Created directory '/home/lusan/.ssh'.
    Enter passphrase (empty for no passphrase): hello world
    Enter same passphrase again: hello world
    Your identification has been saved in /home/lusan/.ssh/identity.
    Your public key has been saved in /home/lusan/.ssh/identity.pub.
    The key fingerprint is:
    eb:62:ac:35:54:07:86:74:28:74:cf:89:18:f7:ae:a9 lusan@linux-128 <mailto:lusan@linux-128>

    使用如下命令可以修改公钥/私钥
    $ ./ssh-keygen -p
    Enter file in which the key is (/home/lusan/.ssh/identity): Return(回车)
    Enter old passphrase: hello world
    Key has comment 'lusan@linux-128'
    Enter new passphrase (empty for no passphrase): hello
    Enter same passphrase again: hello
    Your identification has been saved with the new passphrase.

    接下来要做的就是把公钥复制到服务器端你的$home/.ssl下面,改名为authorized_keys.
    $ cd ~/.ssh/
    $ mv identity.pub authorized_keys

    然后把私钥准备给客户端用,如果你要从windows上登陆,则应把这个文件下载到windows中存放。

    4. 启动sshd
    在设置好相应的配置参数后,以root身份启动sshd了
    # /home/openssh/sbin/sshd
    此外,sshd是一个守护进程在后台运行,因此,不必须明确地指明它应该在后台运行(sshd&)。

    二、客户端的使用

    这里客户端的使用有两种情况:在linux下和windows下
    1. 在linux下
    在你自己的linux机器上,按照一、的快速安装的方法安装好openssh的程序,当然可以选定你自己想要安装的目录。不需要修改ssh_config这个配置文件。你要做的就是把服务器端生成的私钥identity文件复制到$(HOME)/.ssh/下。设置这个文件的权限为只允许自己访问。
    $cp identity $(HOME)/.ssh/
    $chmod go-rwx $(HOME)/.ssh/identity

    然后你就可以这样登录了:
    $ ./ssh -l lusan 192.168.43.128
    (这时候使用的私钥默认是$(HOME)/.ssh/identity)。你可以在你的客户端的配置文件中指明多个私钥的名称(为了连接多个站点),如:
    IdentityFile ~/.ssh/identity.tjyd
    IdentityFile ~/.ssh/identity.xydx
    等,或者也可以使用:
    $ ./ssh -l lusan -i~/.ssh/identity.tjyd xxx.xxx.xxx.xxx
    指定一个私钥文件。
    可以看用ssh -h 看ssh的更多具体使用方法
    Enter passphrase for RSA key 'lusan@linux-128': hello
    Last login: Thu Apr 12 14:44:05 2001 from lujf
    显示信息表示你登录成功。
    粗体字是你要输入的。

    2. 在windows下
    这里介绍两种软件。

    1)SecureCRT
    SecureCRT是一种支持SSH协议的远程登陆工具,最新版本可到Van Dyke公司的主页(<http://www.vandyke.com>)上去下载。运行目录下的可执行程序SecureCRT.EXE即可启动,从菜单File/New中可以建立一个新的session,需要填写的相关内容是:
    Name:为这个会话起个名称
    Protocol:有telnet,rlogin,ssh1等等,连接到使用ssh1协议的主机时要选择ssh1
    Hostname:IP地址或主机名
    Port:使用ssh1协议时一般是缺省的22
    Username:用来登陆的用户名
    Cipher:口令加密方法,选3DES
    Authentication:要选择RSA,注意缺省的是Password
    然后点“Advanced”按钮,Identity filename选择“Use session-specified”,并通过浏览按钮选中前面对应的私钥文件(需要先把它下载到本地硬盘来)
    设置好后连接主机时,输入对应于该用户的密码(Cipher)即可。

    2)Tera Term Pro + TTSSH for Windows
    两个软件包是:ttermp23.zip,ttssh154.zip
    分别对他们解压缩。进入ttermp23的目录。运行setup程序进行安装。然后把ttssh154目录下的所有文件拷贝到ttermp23的安装目录里面。然后运行ttermp23安装目录中的ttssh.exe,选择登录主机ip和ssh登录方式,按确定后,要输入的是: 
    username :lusan(username)
    passphrase: hello
    然后选择use RSA key to login in: 这里选择你的私钥文件(即在linux服务器上生成的$(HOME)/.ssh/identity文件。 这样你就完成登录过程了。
    如果你是第一次登录:会提示:
    Host key not found from the list of know hosts.
    Are you sure you want to continue connecting(yes/no)?
    选择yes。
    三、通过Zmodem协议传输文件
    需要在远程主机上有两个程序lrz和lsz,前者用于上传,后者用于下载,软件可以到网上搜索得到;这里只介绍配合SecureCRT的用法:

    1.上传文件
        比如要将D:\temp\up.tar.gz上传到远程主机的/tmp下面,需要使用SecureCRT登陆到该主机然后执行命令:
            $ cd /tmp
            $ /home/tools/lrz        (假设lrz放在/home/tools下)
    这时SecureCRT自动弹出对话框,选择D:\temp\up.tar.gz,然后按“Add”按钮加到待传输的文件列表中,关闭该窗口后文件就开始上传到当前目录/tmp下了。可以一次选择多个文件批量上传。
    2.下载文件
            比如要下载远程主机的文件/tmp/down.tar.gz,用SecureCRT登陆到该主机然后执行:
            $ cd /tmp
            $ /home/tools/lsz -b down.tar.gz
    (假设lsz在/home/tools下)
    参数-b指定传输二进制文件,更详细的用法可以用命令lsz --help察看,命令发出后SecureCRT即开始下载,并把文件存放到SecureCRT所在目录的子目录download中,这个缺省的存放目录可以从菜单Option/Session options/File Transfer中更改。
    四、sftp的使用
    这里我们再简单介绍一下sftp (secure ftp)的安装和使用。前面在介绍sshd(ssh服务器端)的配置文件的时候,在sshd-config的最后一行有:
    subsystem  sftp /home3/ssh/libexec/sftp-server
    这个语句。是说把sftp作为sshd的一个子系统来运行的。

    1.        在linux环境下
    安装上述步骤安装好ssh客户端之后,就可以进行secure ftp:
    $<clientside-path-to-ssh>/bin/sftp -1v user@host <mailto:user@host> -s <serverside-path-to-ssh>/libexec/sftp-server
    这里的几个参数说明:
    -1(数字1):是指明协议的类型
    -v(verbose): 显示状态信息
    user: 用户名
    host: 主机
    -s : 发送到服务器端启动sftp-server

    输入passphrase后,就进入sftp>的提示符,就下来的用法就和ftp一样了。可以通过help命令查看各种用法。

    在linux下还可以用scp进行文件传输,scp就是Secure Copy( 远程文件安全拷贝程序),scp 利用透明的认证和加密方式在主机间(当然也可以在本机上)进行文件拷贝。只要条件允许,请使用scp来移动文件。
    scp 的语法为:scp usr@host1: filename usr@host2:filename 如:
    $./scp lusan@192.168.43.128:/home/lusan/.bash_profile .

    这里给初学者提供一个比较好的站点:
    <http://www.tac.nyc.ny.us/~kim/ssh/#public-key-crypto>

    2.在windows下
    使用Tera Term中的kermit协议的receive方式和send方式进行接收和发送。这时候必须在ssh的服务器端提供kermit服务。
    这里先介绍kermit服务端的安装使用(源代码方式):
    得到kermit的安装包:kermit-7.0-1.src.rpm
    解开rpm包,得到kermit的源代码:
    #rpm  - i  kermit-7.0-1.src.rpm
    然后你可以在/usr/src/redflag/SOURCES下有如下两个文件:cku196.tar.Z和dummy.xpm
    编译执行码:
    #mkdir /home/kermit
    #cp /usr/src/redflag/SOURCES/cku196.tar.Z /home/kermit
    #cp /usr/src/redflag/SOURCES/dummy.xpm /home/kermit
    #cd /home/kermit
    #tar Zxvf cku196.tar.Z
    #make
    在/home/kermit下生成有wermit这个可执行程序。可以通过wermit -h看它的使用方法。
    o 从服务端发送一个文件给客户端接收:
    首先用Tera Term通过ssh协议连接服务器,然后用wermit程序发送要发送的文件:
    $<path-to-kermit>/wermit -s file
    在Tera Term的终端上出现:KERMIT READY TO SEND …的信息,然后在Tera Term终端的file菜单中选“change directory”选项,选定你要存放接收到文件的目录。最后选择file菜单中的Transfer中的Kermit中Receive选项,就出现接收状态。完毕之后就可以在你选定的目录中看到你要接收的文件。

    o 从客户端发送一个文件到服务器端:
    用ssh连接服务器,然后运行
    $<path-to-kermit>/wermit -r 
    然后在选file菜单中的Transfer中的Kermit中的send,出现一个选择要发送文件的对话框。选定之后出现传输进度状态,完毕后就可以在你执行 wermit的目录中找到你刚才发送的文件。

    以上这些功能就完成了sftp的功能。

    3.在dos环境下的sftp
    首先 在服务器端要装一个sftp的服务程序
            得到sftp-0.9.6.tar.gz软件包,解压缩,编译。
    $cp sftp-0.9.6.tar.gz /home/
    $cd /home
    $tar zxvf sftp-0.9.6.tar.gz
    $cd sftp-0.9.6
    $./configure -prefix=/home/sftp
    $make
    在/home/sftp目录下生成sftp,rsftp和sftpserv几个可执行程序即可。

    然后,得到客户程序软件包:sftp-0.9.6-01032001.zip。解压缩到到某个目录。在这个目录中就有sftp.exe的文件。你可以使用sftp -h 看它的使用帮助。但是有一点,这是一个仿linux的程序。在运行sftp等程序之前,必须在你的pc机上设置一个home目录,然后在home目录下建立一个.ssh目录,再把针对某个服务器的identity文件拷贝到该.ssh目录下(私钥文件名称必须为identity)。
    比如:
                    c:\>md linux-128
                    c:\>md linux-128\.ssh
                    c:\>copy identity linux-128\.ssh
    (注意这里的私钥必须命名为identity, 是服务器端生成的私钥, 先下载到本地)
                    c:\>set home=c:\linux-128
    (环境变量可以在autoexec.bat中设置, 以便启动就生效)这样就为连接linux-128建立了一个home环境

    在完成以上步骤后就可以进行sftp的连接:
    进入客户程序解压缩的目录,然后执行:
    prompt>sftp -v -P /home/sftp usr@host <mailto:usr@host>
    参数说明:
    -v : 生成调试信息
    -P: 指定服务器端的sftp服务器程序的路径
    usr: 用户名
    host: 服务器ip或主机名
    接下来你就可以按提示做了。
    展开全文
  • openssh升级

    2020-11-27 15:22:29
    业务背景:公司的集群检测出来系统漏洞,说是openssh版本过低, 需要升级openssh,由于内网环境,需要离线安装 离线需要的安装包如下: 安装gcc需要的安装包: cpp-4.8.5-36.el7.x86_64.rpm gcc-4.8.5-36.el7.x86_64...
  • OpenSSH

    2018-03-06 18:34:16
    OpenSSH 是 SSH 协议的一个实现。一般通过 scp 或 sftp 用于远程登录、备份、远程文件传输等功能。SSH能够完美保障两个网络或系统间数据传输的保密性和完整性。尽管如此,它最大的优势是使用公匙加密来进行...
  • openssh安装及简单配置

    2014-08-03 17:29:57
    openssh在线资料http://wiki.ubuntu.org.cn/OpenSSH%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B一、openssh是什么OpenSSH 是一组用于安全地访问远程计算机的连接工具。 它可以作为 rlogin、 rsh rcp 以及 telne...
  • windows下openssh安装

    万次阅读 2018-06-22 11:59:07
    https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH以上网页描述了windows下openssh安装过程。以下为注意事项:1。在windows下的c:/users/loginuser/.ssh/authorized_keys文件所有者只能是...
  • 安装配置参考安装目录下doc的quickstart.txt或者readme.txt文件。 配置: --摘自quickstart.txt--------- Configuration ------------- 1. Open a command prompt and change to the installation directory ...
  • 安装方法http://blog.sina.com.cn/s/blog_4a0a8b5d01015b0n.html _我net start opensshd发生系统错误1067 进程意外终止 试过msconfig启动服务,错误1067 进程意外终止 在win7 64 管理服务,启动,错误1067 进程意外...
  • 由于rpm包版本总落后于tar包,对于想安装新版本或由于漏洞需要更新到新版本那只能选择源代方式编译安装。 更新执行和安装一样的步骤就行了。   1.下载 官方网址:http://www.openssh.com/ 在页面左侧选择操作系统...
  • 因为需要,在服务器安装升级了openssh,在安装过程中编写此安装文档,步骤详细,对应的有截图,欢迎下载。
  • windows上安装openSSH服务

    万次阅读 多人点赞 2019-05-26 15:44:03
    在windows上cmd,然后ssh ...首先windows上需要安装openSSH 1,下载openSSH windows版(注:该版本是64位) 链接: https://pan.baidu.com/s/19V2W_e1Agl4GSouW6U3JAQ 提取码: xgjp 2,解压到C:\Program Files\Op...
  • windows 10 下 OpenSSH 安装和设置

    千次阅读 2019-08-20 09:50:19
    windows 10 下 OpenSSH 安装和设置OpenSSH 的下载OpenSSH安装 OpenSSH 的下载 说明:x86 的系统下载OpenSSH-Win32.zip,x64的系统下载OpenSSH-Win64.zip。 下载地址:...
  • 在最初接触时候,跟大家一样到处去搜集资料, 学习人家怎么配置安装YUM等等, 但最终一无所获, 网络资源除了复制就是 粘贴, 大量无用贴, 也导致我们这般菜鸟级别程序员对一系列的报错摸不着头绪, 尤其repodata/repomd....
  • 概述  许多网络程序,如telnet、rsh、rlogin或rexec,用明文...OpenSSH就是那些过时的、不安全的远程登录程序,如:telnet、rlogin、rsh、rdist或rcp的替代品。  <br />在OpenSSH的README文件中提到:s
  • openssh 安装

    2014-07-10 14:26:20
    系统:RHEL 5.4  这里安装的是openssh 6.6版本,首先系统要安装
  • openssh安装方法及软件

    2014-04-10 21:16:32
    搭建hadoop平台时,无法联网安装openssh,手动安装的方法以及所用软件,光安装zlib、openssl、openssh无法成功,需要按照文档中第四步再安装openssh的client,server,all才行。
  • 此资源包含了openssh—server的三个安装包,以及对应的安装说明,内容详细正确,手把手教你如何在无网络情况下安装openssh—server。
  • OpenSSH安装和设置

    2006-04-10 08:45:00
    概述 OpenSSH是开源软件,因为其能进行信息安全的传送,所以能广泛地应用在各种网络环境中,本文简单讲述了Openssh如何安装,以及安装的时候需要注意几个要点,并讲述了安装以后的简单设置。 SSH简介 在Solaris ...
  • ubuntu 安装openssh服务

    千次阅读 2016-10-26 00:40:01
    1.安装openssh 首先得安装 openssl 和zlib 安装openssl ---下载openssl-1.0.1j.tar.gz,解压到/usr/openssl/目录下进入解压目录 执行./config -fPIC 如下图 接着执行 make 以及 make install 安装zlib---下载...
  • 一、安装openSSH 因为工作关系我需要在Cygwin执行curl -s "https://get.sdkman.io" | bash 命令将Sdkman下载到本地。 在刚开始的时候我没有配置openSSH,执行curl命令的时候一直提示以下错误信息 sdkman curl: ...
  • linux 下 OpenSSH安装和使用

    千次阅读 2014-12-19 16:02:03
    OpenSSH安装和使用 由于许多网络服务(包括telnet、ftp、http、rsh、rlogin以及其他服务)都可以被电子窃听,我们必须采用安全的方式进行文件移动、权限设置、shell脚本的运行等等。  为了防止攻击者...
  • 最近需要用openssh去操作Linux服务器,学习了下openssh   1、下载安装 找度娘。。。我下载的是openssh 3.8 所需包放在资料里面上传
  • openssh安装及配置

    千次阅读 2006-07-24 14:24:00
    ssh是替代telnet,rsh,rcp等远程命令的有效工具,为什么这么说?因为ssh是采用加密传输,不会造成密码的明文传送,增加了安全性;再有如果采用密钥的验证方式,即可以...但是密钥千万不要丢失,如果重装系统,需要重
  • openssh下载:https://www.openssh.com/ ... 注:openssh需要配套openssl使用 软件包安装和编译安装的区别: ...yum provides ssh //查看openssh安装包(系统默认已安装) yum install openssh -y ...
  • CentOS安装openSSH

    千次阅读 2018-07-25 15:26:43
    安装缺失的软件: sudo yum install openssh* 注册使用服务: sudo systemctl enable sshd sudo systemctl start sshd 或者 service sshd start  开启防火墙的22端口:  具体防火墙使用可以参见:...
  • 资料列表:安装命令:sh install-openssh.sh install-openssh.sh openssh-8.0p1-1.el6.x86_64.rpm openssh-8.0p1-1.el7.centos.x86_64.rpm openssh-clients-8.0p1-1.el6.x86_64.rpm openssh-clients-8.0p1-1.el7....
  • Ubuntu安装openssh

    2019-07-15 07:23:00
    Ubuntu安装openssh 1.更新源列表 sudo apt-get update 2.安装openssh sudo apt-get install openssh-server 3.查看ssh服务是否启动 sudo ps -e |grep ssh # sshd服务是否开启,开启说明启动成功 4.配置文件修改 "/...
  • 1.安装OpenSSH服务(CentOS系统默认安装openssh)  yum install openssh-server -y 2.配置OpenSSH服务(默认的配置已可以正常工作) OpenSSH的主配置文件:/etc/ssh/sshd_config  常见的配置选项:  Port=22 ...

空空如也

1 2 3 4 5 ... 20
收藏数 64,628
精华内容 25,851
关键字:

openssh