• 如何将远程服务器上的文件拿到本地(且本地电脑无管理员权限)


    原理就是通过将本地的公钥添加到远程的服务器账户下,然后通过bash 实现文件的拷贝

    所以需要bash,git , 以及公钥的配置流程

    有管理员权限的可忽略方案1,2 准备工作,直接在windows系统中添加bash,git环境变量即可(本人是由于电脑是公家的,没有管理员权限,才这么折腾)

    首先不管有没有管理员权限都需要安装Git(安装这个是不需要管理员权限的哈)

    安装就不说了,免费软件,一直点下一步就安装ok啦

    起因:想通过bash直接将远程服务器的code拿到本地
    可是公司电脑用户没有管理员权限,无法直接添加环境变量
     
    方案一:
    windows下通过命令行设置环境变量
    set 设置临时环境变量
    1、查看所有环境变量:cmd输入set查看
    2、查看环境变量:set path
    3、修改环境变量:set 变量名=变量内容 例如:set path = "XXXX",覆盖path的值
    4、添加环境变量:set 变量名=变量内容
     
    setx 可以永久设置环境变量
    1、setx /m 永久设置环境变量
    2、setx /m name "value"
    3、setx -m 永久追加环境变量
    4、setx -m name "%name%;value"
    查看环境变量:
    C:\Users\ren.wang> echo %PATH%
     
    0
     
    setx /m PATH "%PATH%;D:\Git\bin"
    0
     
    #带/m表示全局,不带/m表示当前用户
    错误: 拒绝访问注册表路径 (可是又回到最初的问题,没有管理员权限,无法访问Gpedit.msc
    单击“开始→运行”,输入“Gpedit.msc”后回车,打开“组策略”。然后,依次展开“用户配置→管理模板→系统”,双击右侧窗口中的“阻止访问注册表编辑工具”,在弹出的窗口中选择“已禁用”,“确定”后再退出“组策略”,即可为注册表解锁。
     
    方案二
    把需要添加的应用程序移到已有环境变量对应目录,这样就相当于也配置了环境变量
    前面Git安装后会默认配置 环境变量 D:\Git\cmd ,所以我这里就直接把 Git/bin下面需要用到的几个文件拷贝到此目录下
    0
     
    好了,现在就相当于有环境变量关联了。
     
     
    如何生成公钥?
    一般公钥生产会在此目录下:

     不过可能你是第一次使用github

    寻找.ssh文件夹秘钥时候,发现电脑里没有这个文件夹。
    解决方法如下: 如果是第一次使用github,先去官网注册,注册后有用户名,邮箱和密码。
    打开GIT bash 写上命令:
    1.git config --global user.name “XXX” xxx代表你的用户名
     
    2.git config --global user.email "XXX@XXX.com" 输入邮箱
     
    3.生成一个新的SSH密钥 打开 Git Bash,输入如下命令,
     ssh-keygen -t rsa -C "your_email@example.com"
    直接 ssh-keygen 也可以,邮箱不是必须参数 ,然后连续按三个回车即可
     
    然后会出来提示Enter file in which to save the key 后面是一个路径,
    你就会找到你想要的.ssh文件夹了,去电脑里找吧。
    公钥就生成了
    0

    配置公钥:

    通过scp免密在windows和Linux服务器之间复制文件

    ssh-copy-id命令把本地的ssh公钥文件添加到远程主机对应的账户下

    cd ~/.ssh/
    
    // remote_username = 远程Linux服务器用户名
    // remote_ip = 远程linux服务器IP地址
    ssh-copy-id -i ~/.ssh/id_rsa.pub remote_username@remote_ip
    成功后会生成下面这个文件
    0
     
     
    scp配置测试:
    // remote_username = 远程Linux服务器用户名
    // remote_ip = 远程linux服务器IP地址
    scp local_file remote_username@remote_ip:remote_file
    scp remote_username@remote_ip:remote_file .
     
    本地复制文件到 remote host)
    0
     
    如上所示已经将ttt.txt复制到远程服务器上了,反之 scp remote_username@remote_ip:remote_file .  即可将远程服务器文件拉到本地来
     
    0
     
     
    注意:此方法的的前提是你的网络是能访问到远程服务器的情况下才可 , 若是你的网络本身无法访问服务器,那就不用想了,肯定拿不到文件也传不了文件,不然公司的文件不是谁都可以乱动了吗

     如上图所示 ssh: Could not resolve hostname 一般就是网络没权限导致

     
  • 相关阅读:
    【UOJ 53】线段树区间修改
    【洛谷 1057】传球游戏
    【洛谷 2430】严酷的训练
    【UOJ 51】最接近神的人
    【洛谷 1908】逆序对
    【UOJ 50】树状数组2
    Kafka单机安装
    Linux查看磁盘使用情况命令
    CentOS7查看和关闭防火墙
    Kafka学习(三)——Java工具类、Springboot集成批量消费、SparkStreaming集成
  • 原文地址:https://www.cnblogs.com/victorywr/p/15832181.html
Copyright © 2020-2023  润新知