zoukankan      html  css  js  c++  java
  • Linux系统学习 八、SSH服务—SSH远程管理服务

    1、SSH简介

    ssh(安全外壳协议)是Secure Shell的缩写,是建立在应用层和传输层基础上的安全协议。传输的时候是经过加密的,防止信息泄露,比telnet(明文传递)要安全很多。

    ftp安装(要先加载上光盘镜像文件)

    安装的ftp服务器端

     

    启动服务

     

    查看

     

    创建一个新用户

     

    tcpdump抓包工具

    安装命令

    yum install tcpdump

     

    然后在本地机器上连接虚拟机

     

    应该是有防火墙

    iptables -L

     

    默认Windows当中启动的防火墙,21端口没开着

     

    这边使用命令全部关掉,然后重新监听21端口

    虽然登录失败了,但是并不影响抓包

    用户名:

     

    密码:

     

     

    2、SSH端口

    端口:22

    Linux中守护进程:sshd

    安装服务:OpenSSH

    服务端主程序:/usr/sbin/sshd

    客户端主程序:/usr/bin/ssh

     

     

    3、相关配置文件

    服务端配置文件:/etc/ssh/sshd_config

    客户端配置文件:/etc/ssh/ssh_config

     

    2、SSH加密原理

    对称加密算法

    采用单钥密码系统的加密方法,同一个秘钥可以同时用作信息的加密和解密,这种加密方式称为对称加密,也称为单秘钥加密。

    非对称加密算法又名“公开秘钥加密算法”,非堆成加密算法需要两个秘钥:公开密钥和私有秘钥。

    SSH安全外壳协议(是由非对称加密演变来的)

    它仅仅只是保护了数据传输的过程,在发送前和接收后中了木马等就可能获得数据内容。

     

    在用Xshell连接服务器时就会有直观的显示。

     

     

    3、SSH配置文件

     

    服务器端配置文件

    应该还有一个客户端的配置文件(ssh_config)

    ssh_config在使用过程中,既是一个客户端也是一个服务端,意思是可以允许别人作为客户端通过22端口访问我,我也可以作为客户端去访问别人。

     

    PermitRootLogin yes        允许root的ssh登录(建议普通用户登录)

     

    PasswordAuthentication yes            建议也改成no

    虽然有些设置是被注释掉的,但是事实上有些是默认设置的,注释掉也可以。

    一般建议把端口改掉。

    日志中等级越高记录的信息越少,等级越低记录的信息越详细。

    GSSAPI认证开启后,在用Linux系统管理Linux系统时会有一个验证过程,会等很长时间,需要DNS解析。建议关闭(一般是客户端的配置文件,然后重启service sshd restart)

     

    4、常用SSH命令

    SSH远程管理

    ssh [用户名@ip]

     

    SCP远程复制

    下载:

    scp root@192.168.44.2:/root/text.txt

    上传:

    scp –r /root/123/ root@192.168.44.2/root

     

    5、SSH连接工具

    在Windows中用工具远程连接Linux进行管理。

    SecureCRT工具

    Xshell工具

     

    5、SSH密钥对登录

    保护服务器端的SSH

    1.改端口

    2.防火墙

     

    第一步:创建密钥对,私钥文件:id_rsa,公钥文件:id_rsa.pub(客户机)

    第二步:上传公钥文件到SSH服务器(id_rsa.pub)

    第三步:导入公钥信息,公钥库文件:~/.ssh/authorized_keys

    第四步:使用密钥对验证进行登录

    不需要密码登陆,防止了密码被截获的可能,只要保证私钥文件的安全就可以了

     

    步骤一:

    客户端:

    ssh-keygen –t rsa

    服务器:

    把公钥上传到服务器端

    cat id_rsa.pub >>/root/.ssh/authorized_keys                  输出重定向

    chmod 600 /root/.ssh/authorized_keys

     

    客户端:

     

    创建普通用户

     

    切换到普通用户

    su – user

    返回到root

    exit

     

    我这边一直是以下这种显示

     

    不管是服务器还是本机的PermitRootLogin yes都改了,但是问题依旧没有解决。

    也尝试用普通用户连接,依旧是这种情况。

     

    步骤二

    修改服务器ssh配置文件

    RSAAuthentication yes    开启RSA验证

    PubkeyAuthentication yes      是否使用公钥验证

    AuthorizedKeysFile .ssh/authorized_keys      公钥的保存位置

    PasswordAuthentication on   禁止使用密码验证登录

     

    步骤三

    服务器端关闭SELinux服务

    vi /etc/selinux/config

    重启系统

    服务器端重启ssh服务

    service sshd restart

     

  • 相关阅读:
    DB2原因码7,解决方法
    打包项目成war包并部署到服务器上,项目运行一直显示加载中
    解决js中对象中属性是数组中对应元素,不能使用点数组元素(.数组[i])来获取value值来循环,属性不能是数组元素array[i]的问题
    javaweb项目中jsp的from表单提交action内容与web.xml的servlet-mapping对应
    Collection迭代器Iterator的使用
    使用switch计算出某年某月某日是今年的第几天,输出一直是当月天数
    DB2添加联合主键
    您的主机中的软件中止了一个已建立的连接
    java中在构造方法中修改线程名,修改失败原因(现已修改成功)
    String字符串加号的作用与基本数据类型加号的作用的区别
  • 原文地址:https://www.cnblogs.com/Yuuki-/p/11935788.html
Copyright © 2011-2022 走看看