Linux--ssh服务

1.简介

  SSH是Secure Shell Protocol的缩写,它是一种安全通道协议,主要用来实现安全的远程登录,远程复制等功能,SSH协议对通信双方的数据传输进行加密处理,加密后再对数据传输,确保了传输数据的安全性。

  在默认的状态下,SSH服务主要提供两个服务的功能:

  • 一: 是提供类似telent远程联机服务器的服务,及SSH服务。
  • 二:类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务。

  SSH服务默认端口为tcp 22 号端口

2.SSH服务搭建环境介绍

  此次服务搭建用到的是linux系统的centos7,SSH服务需要一个客户端和一个服务端构成,具体情况如下:

  • 服务器

    IP

    作用

    server

    192.168.2.10

    服务端

    client

    192.168.2.101

    客户端

  • ·服务名称:sshd
  • ·服务端主程序:/usr/sbin/sshd
  • ·服务端配置文件:/etc/ssh/sshd_config
  • ·客户端配置文件:/etc/ssh/ssh_config

3.SSH服务搭建

  1.配置SSH服务端

  • 进入文件所在目录

         [root@server ~]# cd /etc/ssh/

    将服务端的配置文件进行备份

    [root@server ssh]# cp -r sshd_config sshd_config.bak
    
    
  •  在服务器配置文件最后一行中填加用户:

  •  AllowUsers:用户 amber 在任何(admin)客户端均可登录;用户 hanjaili 只允许在 IP 地址为   192.168.2.101 的客户端登录。且仅允许此用户通过 ssh 协议远程登录

  • DenyUsers:禁止用户lisi登录注意:AllowUsers不要与DenyUsers 同时使用
  • [root@ssh-server ssh]# vim sshd_config

    AllowUsers amber hanjiali @192.168.2.10

    #DenyUsers lisi

  • 重新启动服务

  • [root@ssh-server ssh]# systemctl restart sshd
    

   sshd_config 配置文件详解(监听IP换成192.168.2.15)

  2.配置SSH客户端

  •  创建用户admin,hanjiali并为其设置密码
  • [root@client ~]# useradd admin

    [root@client ~]# useradd hanjiali

    [root@client ~]# echo "zxc123" |passwd --stdin admin &> /dev/null

    [root@client ~]# echo "zxc123" |passwd --stdin hanjiali &> /dev/null

4.验证用户及密码是否能登陆 

  • 验证是否能登录成功

  • ssh命令(远程安全登录)格式:ssh user@host (若客户机与主机用户名相同,可省去user@) 端口选项:-p 22
  • [root@client admin]# su - admin
    上一次登录:六 10月 10 15:37:50 CST 2020pts/0 上
    [admin@client ~]$ ssh hanjiali@192.168.2.10
    

  • 验证服务端和客户端是否能够互相传递信息

  • scp命令(远程安全复制)格式1:scp user@host:file1 file2 格式2:scp file1 user@host:file2 

  • 客户端从服务端复制文件
  • 服务端创建文件

    [root@server ~]# mkdir /Carrie

    [root@server ~]# cd /Carrie

    [root@server Carrie]# touch hanjiali{0..5}

    [root@server Carrie]# ls

    hanjiali0  hanjiali1  hanjiali2  hanjiali3  hanjiali4  hanjiali5



    客户端创建目录

    [root@client ~]# mkdir /hanjiali


    客户端从服务器中复制文件成功

    [root@client ~]# scp hanjiali@192.168.2.10:/Carrie/* /hanjiali

    The authenticity of host '192.168.2.10 (192.168.2.10)' can't be established.

    ECDSA key fingerprint is SHA256:A5nQ3zTujOsKvkf1OMaUzYDwj338rg1umdkOqIlS1BY.

    ECDSA key fingerprint is MD5:ba:e8:94:4e:d6:be:7b:68:66:29:34:31:ce:7c:ed:f5.

    Are you sure you want to continue connecting (yes/no)? yes

    Warning: Permanently added '192.168.2.10' (ECDSA) to the list of known hosts.

    hanjiali@192.168.2.10's password:

    hanjiali0                                     100%    0     0.0KB/s   00:00   

    hanjiali1                                     100%    0     0.0KB/s   00:00   

    hanjiali2                                     100%    0     0.0KB/s   00:00   

    hanjiali3                                     100%    0     0.0KB/s   00:00   

    hanjiali4                                     100%    0     0.0KB/s   00:00   

    hanjiali5             

  • 客户端传信息给服务端
  • [root@client ~]# ls
    123.txt  anaconda-ks.cfg  client.txt  han
    [root@client ~]# scp 123.txt hanjiali@192.168.2.10:/han
    hanjiali@192.168.2.10's password: 
    scp: /han/123.txt: Permission denied
    [root@client ~]# scp 123.txt hanjiali@192.168.2.10:/han
    hanjiali@192.168.2.10's password: 
    123.txt                                       100%    0     0.0KB/s   00:00
    [root@server ~]# ls /han
    123.txt
    

5.实现免密码登录

  • 1.构建密钥对认证:
  • [admin@client ~]$ ssh-keygen -t rsa
    

      或者ssh-keygen -t rsa -P “zxc123” -f

  • 2. 将公钥传给服务器
  • [admin@client ~]$ scp .ssh/id_rsa  .ssh/id_rsa.pub hanjiali@192.168.2.10:/Carrie/
    
    hanjiali@192.168.2.10's password:
    
    id_rsa                                        100% 1766   927.4KB/s   00:00   
    
    id_rsa.pub                                    100%  394   210.7KB/s   00:00
    

      

  • 3. 在服务器中导入公钥
  • [root@client ~]# ssh-copy-id -I anjiali@192.168.2.10
    
    /bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/admin/.ssh/id_rsa.pub"
    
    /bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    
    Enter passphrase for key '/home/admin/.ssh/id_rsa':
    
     
    
    /bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system.
    
                  (if you think this is a mistake, you may want to use -f option)
    
    [root@server ~]# su - hanjiali
    
    上一次登录:六 10月 10 19:30:36 CST 2020pts/0 上
    
    [hanjiali@server ~]$ ll .ssh/
    
    总用量 4
    
    -rw------- 1 hanjiali hanjiali 394 10月 10 19:58 authorized_keys
    
    [hanjiali@server ~]$ cat .ssh/authorized_keys
    
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTSNm8st2eOTXIPUUTDvnBwUDk/3s1yst/7ocy+HPhqxijOYPwPI3NPMTKXvpDYGQYxRvmrTibjheWt+HUg5fsq47ebSCjAqoggPhrqVdUQX6TQ+uo4ezeZWGGVGxsKdwly1wJGRwr7YEU4Q4LWop19c1bKVNuHIqOkC1K2KqGNfgabSsS5pL8m9zjXzsmreWRuQcelZd5ZRzl9s40VwYwY9Uqg30O4/3NKNHrXm37JxKNUXON3jFiFMv7frVr4Oq9huQ/itUMnLvioy+6h+063Rm6NXK/zl9STgCbpl9kOITuddEBwndKP7KLRzZJtG/IckaKCUPs4hWRs9dDd+jJ admin@client
    

      

  • 4.在客户端使用密钥对验证
  • 1,改配置文件
    
    vim  /etc/ssh/sshd_config
    
     
    
    2.客户端登录
    
    [root@client ~]# ssh hanjiali@192.168.2.10
    
    hanjiali@192.168.2.10's password:
    
    Last login: Sat Oct 10 20:00:02 2020
    

      

 至此:SSH服务构建成功

原文地址:https://www.cnblogs.com/hanjiali/p/14112049.html