2024年7月17日(nodejs,npm设置国内镜像,vue脚手架,远程管理ssh,踢出用户,scp命令,ssh免密登录)

news2024/9/21 0:33:17
1、安装nodejs服务

nodejs是一个运行1环境,和javajdk运行环境格式一样

[root@a ~]# yum -y install nodejs.x86_64

安装完成之后,使用node -v 查看版本

[root@a ~]# node -v
v16.20.2

2、简易服务器的环境安装npm

安装包管理器 npm node packae manger

[root@a ~]# yum -y install npm

[root@a ~]# npm -v
8.19.4

3、npm设置国内镜像

[root@a ~]# npm config set registry https://registry.npmmirror.com

4、安装vue的脚手架软件

[root@a ~]# npm install @vue/cli -g     //-g表示全局安装

[root@a ~]# find / -name "vue"

[root@a ~]# /usr/local/bin/vue -V
@vue/cli 5.0.8

以上是使用rpm(nodejs 包管理器)安装软件

5、使用vue脚手架创建一个前端项目

(1)在当前目录创建vuehtml1000目录,程序员就可以在这个文件中开发前端页面

[root@a ~]# /usr/local/bin/vue create vuehtml1000  //选择第三个,进去选择router,vuex一直回车

[root@a ~]# tree vuehtml1000/
(2)启动前端项目

进入项目目录 cd vuehtml1000

执行 npm run serve

[root@a ~]# cd vuehtml1000/
[root@a vuehtml1000]# npm run serve

6、将vue项目做成一个前端项目

(1)构建静态的html项目nmp run build

[root@a vuehtml1000]# npm run build
(2)在vue 项目的目录中找到才生成dist目录

(3)将这些静态部署到nginx的html中,找到nginx的html

[root@a vuehtml1000]# find / -name "html" -type d

(4)将./dist/目录下所有文件拷贝到nginx的html目录中

[root@a vuehtml1000]# cp -r ./dist/* /usr/share/nginx/html/

(5)重启nginx服务

[root@a vuehtml1000]# nginx -s reload

一、远程管理ssh服务

安装ssh服务:openssh ssh-server ssh-client

基于用户密码的认证:

基于密钥对的认证 :免密登录

非对称加密 RSA

有2条密码本

公钥   用于加密 保障不是明文传输

私钥  用于解密  将加密的文件解析成明文

DES 对称的公钥加密算法,安全低,数据传输速度快;使用同一个密钥进行加密或解密、

RSA 非对称的公钥加密算法,安全,数据传输速度慢,ssh默认的加密算法

ssh商用收费的对安全负责

当前系统默认安装的是openssh

xshell也是使用ssh远程连接的

[root@a vuehtml1000]# yum -y install bash-completion-extras.noarch

准备两台服务器

主机名作用IP地址
a用于访问其他主机192.168.8.136
b用于被访问192.168.8.141


 

  

[root@a ~]# ssh -lroot -p22 192.168.8.141 
root@192.168.8.141's password: 
Last login: Wed Jul 17 11:35:36 2024 from 192.168.8.139
[root@b ~]# 

1、安装搭建ssh服务

(1)前期准备

关闭防火墙   

[root@b ~]# systemctl stop firewalld
[root@b ~]# systemctl disable firewalld

关闭selinux  (不关会导致sshd端口无法修改)

[root@b ~]# setenforce 0
[root@b ~]# vim /etc/selinux/config 

(2)查看并修改ssh服务端的配置文件

[root@b ~]# rpm -qal openssh

[root@b ~]# ls /etc/ssh/

(1)在配置文件中设置permitRootlogin no ,不允许root账户远程登录可以设置其他用户登录

[root@b ~]# vim /etc/ssh/sshd_config
  38行

[root@b ~]# systemctl restart sshd   //重启服务

[root@a ~]# ssh -lroot -p22 192.168.8.141   //root用户不可以登录
root@192.168.8.141's password: 
Permission denied, please try again.
root@192.168.8.141's password: 
Permission denied, please try again.
root@192.168.8.141's password: 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

[root@a ~]# ssh -lzhangsan 192.168.8.141   //其他用户可以登录
zhangsan@192.168.8.141's password: 
[zhangsan@b ~]$ 

二、ssh服务任务解决方案
1、创建用户并设置密码

 [zhangsan@b ~]$ su
密码:
[root@b zhangsan]# useradd lisi
[root@b zhangsan]# passwd lisi
更改用户 lisi 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@b zhangsan]# 

[zhangsan@b ~]$ ssh -llisi 192.168.8.136

lisi@192.168.8.141's password: 
[lisi@b ~]$

[root@b ~]# ls -l /home/

2、创建共享目录

[root@b ~]# mkdir /code/
[root@b ~]# groupadd code  

3、将zhangsan,lisi都添加到附加组code中

[root@b ~]# usermod -g code zhangsan 
[root@b ~]# usermod -g code lisi

4、为code目录添加code组的权限

[root@b ~]# chgrp -R code /code/   //更目录的文件所属组

[root@b ~]# chmod -R g+w /code/   //给所属组加写权限

5、测试用户权限(只有code目录下可以创建)

[zhangsan@b root]$ touch /opt/zhangsan
touch: 无法创建"/opt/zhangsan": 权限不够
[zhangsan@b root]$ touch /code/zhangsan
[zhangsan@b root]$ 

6、更改ssh默认端口

[root@b ~]# vim /etc/ssh/sshd_config

  17行

7、重启ssh服务 

[root@b ~]# systemctl restart sshd

8、ssh连接服务器,如果服务端口是22,不用添加-p选项,如果不是22端口,就必须添加-p选项

ssh -p9999 lisi@192.168.8.141

ssh -p -llisi 192.168.8.141

[root@a ~]# ssh -llisi -p9999 192.168.8.141
lisi@192.168.8.141's password: 
Last login: Wed Jul 17 14:51:13 2024 from b
[lisi@b ~]$ 

9、安装pwgen密码生成工具

[root@b ~]# yum -y install pwgen

使用pwgen生成随机密码
[root@b ~]# pwgen -cnBs1 10 1
3yvXuVPMLM

10、pwgen密码生成器的使用

pwgen --help

用法:pwgen 选项参数 长度 生成个数

三、ssh服务补充
1、scp命令(上传需要注意权限问题,没有权限的目录无法上传)

主要功能:用于Linux系统与Linux系统之间进行文件的传输(上传、下载)

上传:

scp [选项]   本地文件路径   远程用户名@远程服务器的IP地址:远程文件存储路径
-r:递归上传,主要针对文件夹
-P:更换了SSH服务的默认端口必须使用-P选项

C:\Users\89765>scp -P9999 D:\简历模板\韩登隆_最新版简历.docx zhangsan@192.168.8.141:~

下载:

# scp [选项]   远程用户名@远程服务器的IP地址:远程文件路径 本地文件存储路径
-r:递归上传,主要针对文件夹
-P:更换了SSH服务的默认端口必须使用-P选项

2、踢出用户

查看当前在线用户

[root@b ~]# who
root     pts/0        2024-07-17 14:01 (192.168.8.1)
wangwu   pts/1        2024-07-17 16:14 (192.168.8.136)

踢出某个用户
[root@b ~]# pkill -kill -t pts/1

3、SSH免密登录的具体实现

SSH免密的实现思路一共分为三个步骤(三步走)

第一步:在A主机针对某个账号(tom或jerry)生成公钥与私钥

第二步:使用某些方法把公钥发送到B主机中,然后追加到authorized_keys文件中

第三步: 测试是否实现免密登录

☆方法一:比较常用(tom)

在A主机针对某个账号生成公钥与私钥

# ssh-keygen

(1)随便找个账户执行ssh-keygen按三次回车,会在当前和用户的家目录下

~/.ssh/id_res 私钥

~/.ssh/id_rsa_pub 公钥

[root@b ~]# su zhangsan
[zhangsan@b root]$ ssh-keygen   生成密钥对
 

[zhangsan@b root]$ cd
[zhangsan@b ~]$ ls ./.ssh/
id_rsa  id_rsa.pub  known_hosts
[zhangsan@b ~]$ ls ./.ssh/ -l
总用量 12
-rw------- 1 zhangsan code 1675 7月  17 16:17 id_rsa
-rw-r--r-- 1 zhangsan code  392 7月  17 16:17 id_rsa.pub
-rw-r--r-- 1 zhangsan code  175 7月  17 14:49 known_hosts

[zhangsan@b ~]$ ssh-copy-id root@192.168.8.136   //需要密码
[zhangsan@b ~]$ ssh -lroot 192.168.8.136     //免密登录

[root@a ~]# ls ./.ssh/
authorized_keys  known_hosts

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1934922.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Odoo17架构概述

多层架构 Odoo遵循多层架构,这意味着演示,业务逻辑和数据存储是分开的。更具体地说,它使用三层架构。 UI展示层 UI表示层是 HTML5、JavaScript 和 CSS 的组合。 应用程序的最顶层是用户界面。界面的主要功能是将任务和结果转换为用户可以理…

人工智能导论-机器学习

机器学习概述 概述 本章主要介绍的机器学习的概念、发展历程、发展趋势、相关应用,着重拓展机监督学习和无监督学习的相关知识。 重点:机器学习的定义和应用; 难点:机器学习算法及分类。 机器学习 - 重要性 MachineLeaning出…

Java 网络编程(TCP编程 和 UDP编程)

1. Java 网络编程(TCP编程 和 UDP编程) 文章目录 1. Java 网络编程(TCP编程 和 UDP编程)2. 网络编程的概念3. IP 地址3.1 IP地址相关的:域名与DNS 4. 端口号(port)5. 通信协议5.1 通信协议相关的…

0718vscode问答

终于来到 qt # Question 多态 # Answer 多态是面向对象编程中的一个重要概念,指的是同一个接口可以有多种不同的实现方式。多态性允许我们使用一个统一的接口来处理不同类型的对象,从而提高代码的灵活性和可扩展性。 在Java中,多态可以通过以…

Gradio从入门到精通(9)---状态组件

文章目录 前言一、Error 组件初始化参数 二、Warning 组件初始化参数 三、Info 组件初始化参数 四、进度条(Progress bars)示例代码总结 前言 Gradio 提供了多种组件和功能,用于构建交互式界面和处理用户输入。以下是一些关键组件的使用和示…

Spring Boot集成syslog快速入门Demo

1.什么syslog? Syslog-ng是由Balabit IT Security Ltd.维护的一套开源的Unix和类Unix系统的日志服务套件。它是一个灵活的、可伸缩的系统日志记录程序。对于服务器日志集中收集,使用它是一个不错的解决方案。syslog-ng (syslog-Next generation) 是sysl…

<数据集>混凝土缺陷检测数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:7353张 标注数量(xml文件个数):7353 标注数量(txt文件个数):7353 标注类别数:6 标注类别名称:[exposed reinforcement, rust stain, Crack, Spalling, Efflorescence…

UniVue@v1.5.0版本发布:里程碑版本

前言 以后使用UniVue都推荐使用1.5.0以后的版本,这个版本之后,更新的速度将会放缓。 希望这个框架能够切实的帮助大家更好的开发游戏,做出一款好游戏!本开源项目采用的开源协议为MIT协议,完全开源化,以后也…

关于黑马商城微服务拆分

1.拆分流程 大差不差分为 创建module-依赖-启动类-配置yml文件-抽取代码-数据库-配置启动项-测试 2.微服务的好处 在测试的时候明显感觉到微服务的好处 不用启动所有的项目 只是单纯一个模块比如支付就可以自己调试 非常便捷而且易开发 抽取的公共模块api也不用启动就能测试 …

Python创建Excel表和读取Excel表的基础操作

下载openpyxl第三方库 winr打开命令行输入cmd 这个如果不行可以试试其他方法,在运行Python代码的软件里也有直接下载的地方,可以上网搜索 创建Excel表 示例代码:最后要记得保存,可以加一句提示语句。 import openpyxl lst[100,…

双非一本嵌入式方向怎么学?

双非一本(非“985”和“211”工程重点建设的本科院校)的学生在学习嵌入式方向时,可以通过以下步骤和策略来系统地学习和提升自己。我收集归类了一份嵌入式学习包,对于新手而言简直不要太棒,里面包括了新手各个时期的学…

基于HAL库的stm32的OLED显示屏显示(IIC)

OLED OLED,即有机发光二极管( Organic Light Emitting Diode )。OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器…

网络原理(中)

前言👀~ 上一章我们介绍了传输层协议的报文格式以及协议机制,今天接着介绍其他层的协议 网络层 IP协议 地址管理 路由选择 数据链路层 DNS(域名解析系统) 如果各位对文章的内容感兴趣的话,请点点小赞&#xff0…

高中数学:立体几何-动态图形问题

例题1 解析 求最值,显然,是不等式问题 思路就是,把题目中的条件,翻译成一个函数,然后,利用不等式,求函数的最值。 例题2 解析 先用空间想象力,想象一下这一题的变化过程。 我们&…

Air780E 短信(短消息)测试

一、硬件信息和工具 AIR780E 开发板 usb转ttl工具串口软件文档 二、短消息基本流程 4G模块发短信基本流程如下: 1、设置为TEXT模式2、查询当前的TEXT模式短信参数3、查询字符集4、发短信给测试手机号5、输入具体信息内容发送三、指令测试 打开串口助手,通过usb转…

NLP教程:1 词袋模型和TFIDF模型

文章目录 词袋模型TF-IDF模型词汇表模型 词袋模型 文本特征提取有两个非常重要的模型: 词集模型:单词构成的集合,集合自然每个元素都只有一个,也即词集中的每个单词都只有一个。 词袋模型:在词集的基础上如果一个单词…

uniapp form表单校验

公司的一个老项目,又要重新上架,uniapp一套代码,打包生成iOS端发布到App Store,安卓端发布到腾讯应用宝、OPPO、小米、华为、vivo,安卓各大应用市场上架要求不一样,可真麻烦啊 光一个表单校验,…

19-1 LLM之野望 1 – 微软打开1-bit LLM时代

让我们面对现实吧,数字不会说谎。 尽管市场因人工智能而上涨,但其效应显然尚未转化为价值,因为只有不到4%的公司使用人工智能来生产商品和服务。 更糟糕的是,虽然一些大公司确实在拥抱人工智能,但高不可攀…

Kafka Producer之数据重复和乱序问题

文章目录 1. 数据重复2. 数据乱序 为了可靠性,Kafka有消息重试机制,但是同时也带来了2大问题 1. 数据重复 消息发送到broker后,broker记录消息数据到log中,但是由于网络问题,producer没有收到acks,于是再次…

阿里云 申请免费ssl 证书

1控制台--数字证书管理服务 2 创建所需域名证书