• 远程访问协议ssh,rlogin,telnet


      在之前的linux服务器远程复制文件/目录,远程上传文件/目录以及ssh远程连接中,主要说明了操作步骤和一些基本的原理。这里主要介绍一下几个常见的远程访问协议:telnet,rlogin,ssh。

      一般来说,不管什么协议,大体上的访问步骤基本是确定的:
    1.两台机器上安装对应协议的server和client
    2.服务端启动,并做好相应的配置
    3.客户端发起远程链接,与远程的服务端进行交互

      有了上述认知,那么不论我们使用什么样的远程访问软件,图形化的也好,命令形式的也好,只要抓住两个最关键的点就行:一个是协议;一个是端口号,端口号就是这个服务端启动时配置的端口。其它的参数如ip,账号密码这些都是必须的,但都很容易理解。

    【Telnet】
    Windows上这个用的还是比较多,虽然不安全,但是一些简单的试探性地工作可以交由它来完成,主要是图个方便。
    Telnet分为telnet-server和telnet两个安装包,一个服务端,一个客户端,一般系统是默认安装了telnet的。如果在cmd打开后发现:

    那就说明在你的电脑中telnet客户端没有安装,安装的流程如下图。这里是win10版本的,其它版本的可以自行搜索解决:

    与ping不同的是,这个telnet是可以直接尝试去连接某个具体的端口。
    在实际开发场景中,我经常会遇到服务器的某个服务无法访问的情况。由于我们使用的是阿里云服务器,里面很多端口是需要特定的配置才会被外部访问到,但是拥有权限的配置人员经常记不清楚到底是开了还是没开,这里就可以使用到telnet进行快速验证:

    telnet ip/domain port

    如果链接成功,则进入到一个闪烁游标的黑屏;如果链接失败,则会显示不能打开到主机的链接:

    链接成功后,使用Ctrl+]可以看到操作界面:

    另外,我也经常会使用telnet来检查dubbo服务的相关信息。
    cmd中输入<telnet ip dubbo服务端口>见到闪烁游标的黑屏后,键入Enter,即可使用一些命令查看dubbo服务的情况:

    你甚至可以输入接口参数调用dubbo服务,这里不展开,可以自行搜索。
    与ssh相比,telnet的明文传输是很不安全的,部分Linux服务器甚至已经不支持使用telnet进行通讯,但很多时候我们还是可以简单使用telnet帮助我们快速定位问题。
    本质上来说,telnet就是我们从客户端输入,再通过telnet客户端经由TCP协议链接到telnet服务端,服务端根据接收到的内容伪装成一个终端登录到服务器中执行命令。如图:

    【Rlogin】
    Rlogin与Telnet类似,但是简单很多。

    【SSH】
    Secure Shell的缩写,与前两个协议相比,ssh是安全的,它是专为远程登录会话和其他网络服务提供安全性的协议。它通过将报文不对称加密,通过公钥私钥加密解密的方式保证了传输内容的安全性。
    它的工作原理,在ssh远程连接一文中已经展示。默认端口22,当然你也可以配置。安全协议版本是SSH2(还有个SSH1版本,有缺陷)。
    在linux服务器中,我们可以在/etc/ssh/目录下看到相关的配置文件:

    其中moduli是一个模数文件,存放着多组模数信息。在ssh进行dh密钥交换时会用到,我对它也没有深入了解,读者可以自行研究。
    剩下的key和key.pub是对应到不同host生成的公钥私钥对。剩下的ssh_config是ssh客户端的配置文件,而sshd_config是ssh服务端的配置文件。一般都是使用默认的配置,如果你想将其改造,比如修改端口,可以在服务端配置中修改对应内容。以下是几个比较常用的命令:

    查看是否已经安装了ssh、安装ssh

    rpm -qa|grep ssh
    yum -y install ssh

    ssh服务的启动与停止

    systemctl start sshd
    systemctl stop sshd

  • 相关阅读:
    捕获mssqlservice 修改表后的数据,统一存储到特定的表中,之后通过代码同步两个库的数据
    有关求第n位xxx 的算法的问题
    C#获取枚举的特性描述工具方法
    wpf中嵌入另一个子进程exe像本地的一个页面那样
    emit 实现动态类,动态实现接口
    EF 支持泛型动态加载类访问数据库
    C# 通过 参数返回 C++ 指针
    C# 接收C++ dll 可变长字节或者 字符指针 char*
    健身篇
    Ubuntu 16.04安装Docker-Compose 与 Can't connect to docker from docker-compose
  • 原文地址:https://www.cnblogs.com/bruceChan0018/p/15200448.html
Copyright © 2020-2023  润新知