Luckean's blog Luckean's blog
首页
  • 前端文章

    • JavaScript
  • 项目笔记

    • 项目笔记
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • flutter 布局
  • dart 数组的定义
  • java目录
  • jenkins配置
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • vscode vim 结合使用
  • vscode vim 汇总
  • vscode快捷键
  • vscode自定义快捷键
  • typora 使用技巧
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

Luckean

前端界的小学生
首页
  • 前端文章

    • JavaScript
  • 项目笔记

    • 项目笔记
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • flutter 布局
  • dart 数组的定义
  • java目录
  • jenkins配置
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • vscode vim 结合使用
  • vscode vim 汇总
  • vscode快捷键
  • vscode自定义快捷键
  • typora 使用技巧
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • java目录
  • jenkins配置
  • 服务器流程
  • sh部署 scp免密
    • v2ray,X-ui,Xray 面板,v2rayA
    • 服务器杂学
    • docker
    • ubuntu 开启root权限登陆
    • 如何在Centos7 系统开放端口
    • pip命令安装
    • yapi mongo
    • paste
    • ssl 证书申请
    • chevereto 图床搭建
    • linux tar 解压命令
    • 服务器
    Luckean
    2022-12-11
    目录

    sh部署 scp免密

    # windows自带scp命令

    SCP  -r  windows文件夹路径/*   linux系统登录名@linux IP 地址:Linux路径
    scp -r blog.tar.gz root@192.168.0.1:/www/wwwroot/blog.hellocode.vip
    
    -r 代表递归执行,文件夹中有可能存在子文件夹,加上 -r 都会传递过去
    window文件夹路径/* 代表 windows 文件夹下的所有文件/子文件夹
    linux 系统登录名,比如:root
    linux IP 地址,比如:192.168.136.134
    linux 路径,比如:/root/home/webapp
    
    
    SCP -r  D:/Project/Publish/WuAnFundPingtai/* root@192.168.136.134:/root/share/webapp  --整个文件夹内文件,包含子文件夹
    SCP  D:\downloads\kafka_2.12-3.0.0.tgz  root@192.168.182.130:/root/software   --单个文件
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    # scp免密登录

    # 廖姥爷新方法:

    cd .ssh
    ssh-copy-id -i id_dsa.pub root@###id###
    ssh root@###id###  //测试
    
    1
    2
    3

    git 生成方法

    生成服务器公钥私钥文件 在主机A上执行如下命令来生成配对密钥(id_rsa,id_rsa.pub):

    ssh-keygen -t rsa -C "1919193@qq.com"
    
    1
    1. .shh 目录并修改文件名authorized_keys

    image-20221211182050962

    1. 放上id_rsa.pub的内容

    # 在windows运行sh命令

    1.在电脑环境变量加入git

    D:\dev\Git\bin
    
    1

    image-20221211194911890

    # 在vscode 无法运行其他命令行

    无法将“node”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

    node : 无法将“node”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
    所在位置 行:1 字符: 1
    + node -v
    + ~~~~
        + CategoryInfo          : ObjectNotFound: (node:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException
    
    1
    2
    3
    4
    5
    6
    Get-ExecutionPolicy -List #查看当前所有作用域
    
    1

    image-20221211183248762

    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser #设置当前用户作用域具备权限,具体设置格
    
    1

    image-20221211183337581

    ps:重启终端

    # window脚本

    不用jenkins 自动部署前景:

    服务器 npm run build 命令 无法打包成功,内存不够..导致程序卡住太久,服务器自动killed 杀死

    image-20221211183602384

    # mac免密登陆

    于是选择用mac自带的终端来访问远程服务器

    ssh远程访问登陆,有二种登陆方法:

    • ssh服务器ip,输入用户名+密码+验证码
    • 密钥验证(无需输入任何登陆信息,只需ssh直接进入服务器ip
    2.1本地终端生成密钥并将公钥发给服务器,服务器将公钥保存
    2.2本地终端登录服务器时,服务器生成随机字符串并用本地的公钥加密后,发给本地终端
    2.3本地终端用私钥将其解密后发回给服务器,验证成功后,就可以登陆了
    
    1
    2
    3

    在这里插入图片描述

    # 1.用户名+密码

    第一种就很简单了直接输入命令

    ssh -p [端口号] [username]@[ip]
    
    1

    之后,按提示输入密码,验证码就可以了。

    如果要从服务器端退出到本地 输入命令

    exit
    
    1

    # 2.远程免密

    🍎2.1 在本地输入如下命令:

    ssh-keygen -t rsa
    
    1

    按三次回车,完成生成本地私钥和公钥

    在这里插入图片描述

    🍏然后在本地root目录下,找到隐藏文件夹/root/.ssh/目录,可以找到刚才生成的私钥与公钥。

    在这里插入图片描述

    🍐同样在本地终端ssh文件夹目录上输入命令

    	ssh-copy-id [服务器ip]
    
    1

    在这里插入图片描述

    🍊这个时候就成功将本地的公钥给到了服务器,在服务器的.ssh/authorized_keys

    👍最后我们只需要在本地终端如下输入命令,就ok了

    ssh [usename]@[ip]
    
    1

    ps: 不用在输入密码就是成功

    # 3.远程文件传输

    3.1 本地文件复制到服务器上 进入本地终端在对应目录下:我这里选的是data目录下的image.jpg文件,复制到服务器的data目录下。

    [username]@ip:/data/ :表示的是服务器的地址 /User/data:表示的是本地的地址

    scp  /User/data/image.jpg [username]@ip:/data/
    
    1
    # 3.2 服务器文件复制到本地上

    同样也是在本地终端下进行:反过来我选择服务器data目录下的image.jpg文件,复制到本地的data目录下。

    scp [username]@ip:/data/ /User/data/image.jpg
    
    1

    # shell

    #!/usr/bin/env sh
    # echo 打印出当前目录 CURRENT_PATH
    CURRENT_PATH=`pwd`
    PUSH_IP="192.168.0.1"   #服务器IP
    EXCUTE_PATH="/www/wwwroot/blog.hellocode.vip"   #服务器上传位置路径
    #PROJECT_PATH="blog" 
    GENERATE_PATH="docs/.vuepress"    # 静态文件生成的文件夹
    PROJECT_NAME="blog.tar.gz"       # 生成文件名
    
    # 确保脚本抛出遇到的错误
    set -e
    
    git add .
    git commit -m "部署"
    git push origin master
    
    # 生成静态文件
    npm run build
    
    # 进入生成的文件夹
    cd $GENERATE_PATH
    echo "==================本地dist文件夹生成压缩包===================="
    tar -cvzf $PROJECT_NAME dist
    
    # window解压缩包
    # tar -zxvf archive.tar -C "D:\Apps"
    
    echo "==================本地文件上传服务器===================="
    scp -r $PROJECT_NAME root@$PUSH_IP:$EXCUTE_PATH
    echo "==================上传完成===================="
    
    echo "==================解压===================="
    ssh  root@$PUSH_IP "cd $EXCUTE_PATH;rm -rf /dist;tar -xzvf $PROJECT_NAME;rm -rf $PROJECT_NAME;exit"
    
    echo "==================删除===================="
    cd $CURRENT_PATH
    rm -rf $GENERATE_PATH/dist
    rm -rf $GENERATE_PATH/$PROJECT_NAME
    echo "==================完毕===================="
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    上次更新: 2023/08/23, 15:40:45
    服务器流程
    v2ray,X-ui,Xray 面板,v2rayA

    ← 服务器流程 v2ray,X-ui,Xray 面板,v2rayA→

    最近更新
    01
    Mac配置nginx+php
    08-23
    02
    p12文件的生成
    08-22
    03
    mac 程序安装失败解决
    08-18
    更多文章>
    Theme by Vdoing | Copyright © 2022-2023 Lucking | 粤ICP备2022078904号-1
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式