• 远程服务器连接(密钥验证,跳板机)


    服务器远程连接

    天下大事 必作于细

    rsa密钥配置

    本地设备

    利用git生成一对rsa公私密钥 keygen
    windows的话,默认生成目录在 C:\Users\用户名.ssh
    id_rsa为私钥文件
    id_rsa.pub为公钥文件
    私钥文件为你的登录的身份证,登录时选择这个文件即可,具体见下文。
    公钥文件需要放到服务器authorized_keys当中

    远程服务器

    1. 进入相应用户的.ssh文件夹, cd ~/.ssh即可
      里面应该有authorized_keys、id_rsa、id_rsa.pub、know_hosts等四个文件
      我们只需要关心authorized_keys这个文件即可。
    2. 打开authorized_keys文件,把刚刚本地生成的公钥文件的内容贴进来即可。
    3. 确保服务器上允许RSA密钥登录,这里需要root权限
    sudo vim /etc/ssh/sshd_config
    //查看文件中的这两项是否都是yes,第一项是允许RSA密钥登录,第二项是允许公钥认证
    RSAAuthentication yes
    PubkeyAuthentication yes

    这样,密钥配置就完成了。

    当然,有一个问题,就是你的服务器下面并不存在authorized_keys这个文件,甚至连.ssh文件夹都没有
    那么,你自己建.ssh文件夹和authorized_keys文件然后再做一样操作即可,不过需要注意,文件夹和文件的权限是有要求的:

    chmod 700 .ssh
    chmod 644 authorized_keys

    下面,根据平台不同分成mobaxterm和vscode对本地设置私钥以及跳板机进行说明

    mobaxterm

    远程连接

    图1

    跳板机

    为什么需要跳板机,这是为了实现从外网网址跳到内网服务器的需求。
    图2

    vscode

    远程连接

    图3

    Host xxxxx
        HostName xx.xx.xx.xx
        User xxx
        Port xx
        IdentityFile 私钥路径

    Host为服务器名称,可以随便起
    HostName是服务器ip地址
    User 用户名
    Port 端口号
    IdentityFile 指明私钥文件路径

    跳板机

    为什么需要跳板机,这是为了实现从外网网址跳到内网服务器的需求。
    图3

    Host public_net
        HostName xx.xx.xx.xx
        User xxx
        Port xx
        IdentityFile 私钥路径
    
    Host inter_net
        HostName xx.xx.xx.xx
        User xxx
        Port xx
        IdentityFile 私钥路径
        ProxyCommand ssh -W %h:%p public_net

    ProxyCommand 能够指明通过另一个ip做跳板,其中ssh需要绝对运行路径,如C:\Windows\System32\OpenSSH\ssh.exe


    __EOF__

  • 本文作者: CLIY
  • 本文链接: https://www.cnblogs.com/CliY/p/16096390.html
  • 关于博主: 天下大事,必作于细
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    [CISCN2021 Quals]upload(PNG-IDAT块嵌入马)
    SpringBoot整合Kafka (二)
    哪个牌子的超声波清洗机好?四大质量出众超声波清洗机汇众
    Hadoop集群安装
    PHP初中高级1000道面试题大全(持续更新中)
    conda使用一般步骤
    自定义cell控件
    下载axios时出现很多npm ERR错误:npm ERR! code ERESOLVEnpm ERR! ERESOLVE could not resolve
    mysql版本高的导出sql语句在版本低的mysql执行会报错
    nodejs的Multer包的使用
  • 原文地址:https://www.cnblogs.com/CliY/p/16096390.html