SSH远程连接服务详解

这篇具有很好参考价值的文章主要介绍了SSH远程连接服务详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

远程连接服务器

一,远程连接服务器简介

1、什么是远程连接服务器

 远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录

 linux 主机以取得可操作主机接口(shell),而登录后的操作感觉就像是坐在系统前

 面一样。

2、远程连接服务器的功能

分享主机的运算能力

服务器类型:有限度开放连接

工作站类型:只对内网开放

3、远程连接服务器的类型(以登录的连接界面来分类)

文字接口

明文传输:Telnet、RSH 等,目前非常少用

加密传输:SSH 为主,已经取代明文传输

图形接口:XDMCP、VNC、XRDP 等

 4、文字接口连接服务器

SSH(Secure Shell Protocol,安全的壳程序协议)它可以通过数据包加密技术将等

待传输的数据包加密后再传输到网络上。ssh 协议本身提供两个服务器功能:一个是

类似 telnet 的远程连接使用 shell 的服务器;另一个就是类似 ftp 服务的 sftp- server,

提供更安全的 ftp 服务。

 

 

二,连接加密技术

 

1,对称加密:使用同一个秘钥进行加密解密

      缺点:不够稳定

      优点:效率高

ssh远程连接服务器,RHCE,服务器,linux,ssh

2,非对称加密;使用不同的秘钥进行加密解密

      非对称加密:产生一密钥:公钥(给别人)和私钥(给自己)

      用公钥加密的只能用私钥解密

ssh远程连接服务器,RHCE,服务器,linux,ssh

ssh远程连接服务器,RHCE,服务器,linux,ssh

3,两种加密方式存在的问题

      对称加密的问题: 如何保证密钥的安全

      非对称加密的问题:如何确保服务器的身份

      ssh服务使用对称加密来传输数据,使用非对称加密来进行连接

4,SSH 工作过程:在整个通讯过程中,为实现 SSH 的安全连接,服务端与客户端要

      经历如下五个阶段:

ssh远程连接服务器,RHCE,服务器,linux,ssh

<1>,版本号协商阶段:ssh目前包括ssh1和ssh2两个版本,双方通过版本协商确定使用的版本

Client:SSH-2.0-OpenSSH_for_Windows_8.1

server:SSH-2.0-OpenSSH_8.0

<2>,秘钥和算法协商阶段

算法协商

Client:key exchange init

Server:key exchange init

ssh远程连接服务器,RHCE,服务器,linux,ssh

秘钥计算:

Client: key exchange init

Server: ecdh key  exchange reply ,new keys, encrypted packet

ssh远程连接服务器,RHCE,服务器,linux,ssh

秘钥协商阶段(session-key)

7 %2取余  其中的2为模数

2^3次方   2为基数

张三和李四沟通的基础: 模数:p, 基数:g

张三和李四要进行沟通了:

张三先要想好一个私钥a, 产生公钥:A = g^a mod p, 张三将公钥A交给李四

李四先想好一个私钥b, 尝试公钥: B = g^b mod p,  李四将公钥交给张三

到目前为止:张三拿到了李四的公钥B,以及自己的公钥A, 私钥a

                   李四拿到了张三的公钥A,以及自己的公钥B,私钥b

然后张三和李四各自根据ecdh算法进行计算:

k1 = B^a mod p

k2 = A^b mod p

如果k1=k2: 就产生了一个安全的密钥key=k1=k2

>>> p=83

>>> g=8

>>> a=9

>>> b=21

>>> A=g**a % p

>>> A

5

>>> B=g**b % p

>>> B

18

>>> k1=B**a % p

>>> k2=A**b % p

>>> k1

24

>>> k2

24

key=k1=k2=24

 

<3>,认证阶段(最终要阶段)

(1)基于口令的认证

第一次登录会把这些信息记录在known_hosts文件中,下次登录就会与文件中的秘钥进行对比,相同直接登录;自己认为可靠输入yes连接   

    Win + r 输入cmd

    ssh  root@192.168.206.131

ssh远程连接服务器,RHCE,服务器,linux,ssh

 

在客户端用户下面的.ssh目录中找known_hosts文件并删除掉

ssh远程连接服务器,RHCE,服务器,linux,ssh

 

ssh远程连接服务器,RHCE,服务器,linux,ssh

删除文件后, 再次连接,将会显示提示信息

ssh远程连接服务器,RHCE,服务器,linux,ssh

(2)基于秘钥的认证(免密登录)

ssh远程连接服务器,RHCE,服务器,linux,ssh

ssh远程连接服务器,RHCE,服务器,linux,ssh

三,有关免密登录的配置 

配置一:

1,  打开xshell,点击工具,新建用户秘钥生成向导 

ssh远程连接服务器,RHCE,服务器,linux,ssh

  点击下一步

ssh远程连接服务器,RHCE,服务器,linux,ssh

点击下一步

ssh远程连接服务器,RHCE,服务器,linux,ssh

2,输入并确认密码

ssh远程连接服务器,RHCE,服务器,linux,ssh

3,将此文件保存下来备用

ssh远程连接服务器,RHCE,服务器,linux,ssh

 

4,点击完成,会自动生成此秘钥

ssh远程连接服务器,RHCE,服务器,linux,ssh

 

5,连接linux,创建~/.ssh/目录

ssh远程连接服务器,RHCE,服务器,linux,ssh

6,在此目录使用命令vim authorized_keys进入到文件中,把最上面保存的秘钥添加到此文件

      中,保存退出

ssh远程连接服务器,RHCE,服务器,linux,ssh

ssh远程连接服务器,RHCE,服务器,linux,ssh

 

7,新建连接

ssh远程连接服务器,RHCE,服务器,linux,ssh

8,名称输入pubkey_login;主机输入和原来服务器相同的ip

ssh远程连接服务器,RHCE,服务器,linux,ssh

9,在用户身份验证输入用户名root,并在方法勾选public key,在设置里选择刚才的用户秘钥,

     输入密码

ssh远程连接服务器,RHCE,服务器,linux,ssh

10,完成后将出现下面界面,点击连接

ssh远程连接服务器,RHCE,服务器,linux,ssh

11,直接免密登录成功

ssh远程连接服务器,RHCE,服务器,linux,ssh

配置二:

第一台作为客户端

第二台作为服务器

图为秘钥的类型,可以自己选择类型

ssh远程连接服务器,RHCE,服务器,linux,ssh

1,在Linux客户端上使用命令ssh-keygen -t rsa -b 2048生成公钥和私钥

第一台机器上(192.168.206.131);此命令为交互式命令;一直回车;-t 选择类型   -b字节大小

ssh远程连接服务器,RHCE,服务器,linux,ssh

2,用ls -l查看文件;私钥将保存到  /root/.ssh/id_rsa ;公钥保存到  /root/.ssh/id_rsa.pub   

ssh远程连接服务器,RHCE,服务器,linux,ssh

3,在客户端(第一台)把公钥复制到服务器(第二台)下的root用户家目录的下

      .ssh authorized_keys文件下面

ssh-copy-id命令知道目录在哪里,会主动把.pub文件复制到服务器的authorized_keys文件中

ssh-copy-id -i root@192.168.206.132(服务器的IP)  此处需要输入密码

ssh远程连接服务器,RHCE,服务器,linux,ssh

4,免密登录第二台机器

ssh远程连接服务器,RHCE,服务器,linux,ssh

配置三:

修改ssh服务端口号

Systemctl status sshd 查看sshd的服务状态

Ss-tnl查看tcp监听的端口号

把22端口改为2222

1,打开 sshd_config 文件

 vim /etc/ssh/sshd_config

ssh远程连接服务器,RHCE,服务器,linux,ssh

2,配置port 2222

ssh远程连接服务器,RHCE,服务器,linux,ssh

:wq  保存退出

3,使用命令Systemctl restart sshd重新启动文件才会生效

ssh远程连接服务器,RHCE,服务器,linux,ssh

4,使用命令Ss -tnl查看监听端口

ssh远程连接服务器,RHCE,服务器,linux,ssh

5,此时登录要加上端口号才能登录成功:

ssh远程连接服务器,RHCE,服务器,linux,ssh

配置四:

禁止root用户远程登录

1,使用命令vim /etc/ssh/sshd_config打开配置文件

ssh远程连接服务器,RHCE,服务器,linux,ssh

2,将PermitRootLogin  yes修该为PermitRootLogin  no

ssh远程连接服务器,RHCE,服务器,linux,ssh

3,使用命令systemctl restart sshd重新启动sshd服务,

ssh远程连接服务器,RHCE,服务器,linux,ssh

4,重新连接登录root用户

ssh远程连接服务器,RHCE,服务器,linux,ssh

ssh远程连接服务器,RHCE,服务器,linux,ssh

ssh远程连接服务器,RHCE,服务器,linux,ssh

5,登录redhat 用户

ssh远程连接服务器,RHCE,服务器,linux,ssh

ssh远程连接服务器,RHCE,服务器,linux,ssh

6,登录成功

ssh远程连接服务器,RHCE,服务器,linux,ssh

配置五:

linux连接linux而且redhat用户的免密登录

第一台机器客户端(192.168.206.131);第二台机器服务器(192.168.206.132)

1,使用命令ssh-keygen -t rsa -b 2048在客户端,生成公钥和私钥

ssh远程连接服务器,RHCE,服务器,linux,ssh

 此时秘钥将保存到文件中,/rhce/.ssh/id_rsa  (保存私钥);/rhce/.ssh/id_rsa.pub  (公钥)

ssh远程连接服务器,RHCE,服务器,linux,ssh

2,使用命令ssh-copy-id -i root@192.168.206.132(服务器的IP) 把公钥复制到服务器下的root用户家目录的下.ssh authorized_keys文件下面

ssh远程连接服务器,RHCE,服务器,linux,ssh

3,此时可以使用第一台机器的redhat用户免密登录第二台机器

ssh远程连接服务器,RHCE,服务器,linux,ssh

配置六:

windows要连接Linux: 而且要使用普通用户redhat免密登录

1.客户端生成公钥和私钥

   windows -》 xshell去生成

2. 把客户端的公钥放入:用户家目录下的.ssh/authorized_keys

   

1,新建生成向导

ssh远程连接服务器,RHCE,服务器,linux,ssh

  2,输入秘钥名称,密码

ssh远程连接服务器,RHCE,服务器,linux,ssh

3,将秘钥复制到文档里备用

ssh远程连接服务器,RHCE,服务器,linux,ssh

ssh远程连接服务器,RHCE,服务器,linux,ssh

4,进入到redhat 用户的家目录下

ssh远程连接服务器,RHCE,服务器,linux,ssh

5,使用命令ls -al   查看有没有.ssh的目录

ssh远程连接服务器,RHCE,服务器,linux,ssh

如果没有的话,创建一个

ssh远程连接服务器,RHCE,服务器,linux,ssh

6,进入到此目录中

ssh远程连接服务器,RHCE,服务器,linux,ssh

7,使用命令 vim authorized_keys进入把之前复制的公钥粘贴进去,保存退出去

ssh远程连接服务器,RHCE,服务器,linux,ssh

ssh远程连接服务器,RHCE,服务器,linux,ssh

8,新建连接

ssh远程连接服务器,RHCE,服务器,linux,ssh

9,设置用户名和私钥

ssh远程连接服务器,RHCE,服务器,linux,ssh

10,点击连接

ssh远程连接服务器,RHCE,服务器,linux,ssh

11,免密登录成功

ssh远程连接服务器,RHCE,服务器,linux,ssh

12,如果连接不上

  使用命令tail -200 /var/log/secure查看问题在哪,一般是权限问题

修改权限

ssh远程连接服务器,RHCE,服务器,linux,ssh

ssh远程连接服务器,RHCE,服务器,linux,ssh

把文件的权限修改为600

ssh远程连接服务器,RHCE,服务器,linux,ssh

ssh远程连接服务器,RHCE,服务器,linux,ssh

把目录的权限修改为700

ssh远程连接服务器,RHCE,服务器,linux,ssh

Linux1 免密登录 linux2 为什么没有出现这个问题?

ssh-keygen -t rsa

ssh-copy-id redhat@192.168.233.233 -> 自动生成authorized_keys -> 600

配置七:

特定用户登录,添加用户useradd user1;useradd user2 ;useradd user3;拒绝user3登录

1,切换到root用户

使用命令Vim /etc/ssh/sshd_config进入编辑

ssh远程连接服务器,RHCE,服务器,linux,ssh

2,进入最底部使用命令AllowUser  user1 user2添加特定用户(除了特定用户,其他用户无法

     登录)

ssh远程连接服务器,RHCE,服务器,linux,ssh

3,使用命令Systemctl resart sshd重启服务

4,使用命令useradd user1;useradd user2 ;useradd user3创建3个用户

5,设置密码

Echo "123456" | passwd --stdin user1

Echo "123456" | passwd --stdin user2

Echo "123456" | passwd --stdin user3

6,登录

ssh远程连接服务器,RHCE,服务器,linux,ssh

ssh远程连接服务器,RHCE,服务器,linux,ssh文章来源地址https://www.toymoban.com/news/detail-793874.html

到了这里,关于SSH远程连接服务详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Pycharm通过ssh远程连接服务器

    笔记本没有英伟达独显,需要跑深度学习的代码,可以使用pycharm远程连接服务器,将本机代码同步到实验室服务器中运行, 注意: (1)只有专业版的pycharm才可以远程连接服务器;(2)专业版pycharm可以通过学校电子邮箱申请免费版,或者搜一下相关版本的破解码,自己使用

    2024年01月23日
    浏览(61)
  • idea实现ssh远程连接服务器

    1. 首先,打开idea,点击左上角File-settings 2. 点击tools-SSH Configurations-填写必要的信息,Host就是访问服务器的ip地址,Username就是服务器的用户账户,比如root,Password账户对应的密码,进行Test Connection。显示连接成功就成功了。 3. 接着在Tools下面继续选中SSH Terminal-SSH Configuration,

    2024年04月25日
    浏览(40)
  • Vscode配置ssh远程连接服务器

    环境工具 (1) 下载安装 Vscode (2) 阿里云服务器 配置过程 按照上图的1,2,3步骤安装:Remote-SSH插件 在vscode使用ctrl+shift+p快捷键,在工具栏输入Remote-SSH并选择 选择此配置文件 可以添加多个ssh,格式如下: Host xxxx HostName 192.168.1.1(自己服务器的IP地址) User root 使用过程 点击上图的图标

    2024年02月05日
    浏览(60)
  • 在外SSH远程连接macOS服务器

    macOS系统自带有Secure Shell 客户端,它可让您登录到侦听传入SSH连接的远程服务器和台式机。我们可以用 ssh username@ip 来ssh到服务器,但通常局限于局域网内的远程。 本次教程,我们将使用cpolar内网穿透工具,映射ssh服务默认端口:22端口,获取公网地址,实现在公网环境下的

    2024年02月11日
    浏览(52)
  • SSH客户端连接远程服务器

    目录 一、什么是客户端连接远程服务器 二、什么是服务端连接远程服务器 三、查看网络信息 1、图形程序查看网络信息 2、命令查看网络信息 四、SSH客户端(Linux) 五、SSH客户端(windows) 六、SSH远程服务器 发起连接的一方,计算机或设备(称为客户端)与另一个计算机或

    2024年02月16日
    浏览(65)
  • 使用 FinalShell 进行远程连接(ssh 远程连接 Linux 服务器)

    目录 前言 基本使用教程 新建远程连接 连接主机 自定义命令 路由追踪 后端开发,必然需要和服务器打交道,部署应用,排查问题,查看运行日志等等。一般服务器都是集中部署在机房中,也有一些直接是云服务器,总而言之,程序员不可能直接和服务器直接操作,一般都是

    2024年04月16日
    浏览(81)
  • 教你如何『SSH』远程连接『内网』服务器

    最近博主实验室要搬家,因为服务器只有连接内网才能使用,所以搬走之后就无法在公网连接使用服务器,确实是让人非常苦恼,所以本文将会主要讲解如何使用 公网服务器 SSH 连接内网服务器 系统配置 内网服务器:Ubuntu 18.04 公网服务器:CentOS 7.9 下面汇总公网访问内网服

    2024年02月08日
    浏览(52)
  • 使用SSH远程连接Ubuntu服务器系统

    实现目的:安装完Ubuntu系统后只能在Ubuntu命令行中输入命令,不能将外面的代码复制进Ubuntu命令行里面,所有本教程是为了配置ssh服务,可以将Ubuntu系统远程通过cmd或者windows Powershell登录,就可以实现代码复制功能。OK,下面介绍如何开启SSH服务。 启用SSH服务,输入以下指令

    2024年02月05日
    浏览(80)
  • VsCode SSH远程连接服务器【内网穿透公网连接】

    1.前言 记得笔者小时候看电视,看到影视角色总是用一个老式的键盘,噼里啪啦的在电脑屏幕上输入一行行字符,那时候觉得能这么操作电脑真的好帅,从而立下了长大以后也要这样使用电脑的志向。 长大以后,笔者的愿望终于实现,整天坐在电脑面前敲代码抓BUG;而小时候

    2024年02月03日
    浏览(57)
  • VSCode远程连接服务器(SSH免密登录)

            连接远程服务器的方式众多,本文将介绍基于VS Code的SSH免密登录方法。在开始SSH远程链接以前,您需要完成以下步骤: 1.以Windows平台为例,您需要在cmd终端(Win+R输入cmd)输入: 如果出现信息即代表Windows端的SSH配置完成。 2.Windows生成公钥的方法: 如果您可以在

    2023年04月26日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包