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

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://xiahunao.cn/news/3250288.html

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

相关文章

【计算机毕设论文】基于SpringBoot学生作业管理系统

💗博主介绍:✌全平台粉丝5W,高级大厂开发程序员😃,博客之星、掘金/知乎/华为云/阿里云等平台优质作者。 【源码获取】关注并且私信我 感兴趣的可以先收藏起来,同学门有不懂的毕设选题,项目以及论文编写等相…

【MySQL-17】存储过程-[变量篇]详解-(系统变量&用户定义变量&局部变量)

前言 大家好吖,欢迎来到 YY 滴MySQL系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的《Lin…

修改单链表时传入二级指针详解

修改单链表时传入二级指针详解 我们先来看一个例子: 1.int *p &a; notice: p的值,*p,&p注意区分 p的值:就是变量a的地址:0x11 *p: 就是变量a的值:1 &p:就是p的地址:ox22 p代表的…

气膜篮球馆:理想的运动空间选择—轻空间

快速建造 气膜篮球馆的建造速度快,通常只需几周即可完成。这与传统建筑需要数月甚至数年的时间相比,显著缩短了工期。快速建造不仅能迅速投入使用,还减少了因工期延长而产生的额外费用。 成本效益 气膜结构相比传统建筑成本更低,特…

基于Llama Index构建RAG应用(Datawhale AI 夏令营)

前言 Hello,大家好,我是GISer Liu😁,一名热爱AI技术的GIS开发者,本文参与活动是2024 DataWhale AI夏令营;😲 在本文中作者将通过: Gradio、Streamlit和LlamaIndex介绍 LlamaIndex 构…

【C++题解】1212. 移动数组元素

问题:1212. 移动数组元素 类型:数组找数 题目描述: 在一个不重复的数组中,请将这个数组的最小数和数组第一个数交换,最大数和数组最后一个数交换。 输入: 第一行有一个整数 n ( 5≤n≤100 )…

【C】C语言静态链表转动态链表的技术探讨与实现

引言 在数据结构与算法的学习中,链表作为一种常用的线性表链式存储结构,具有灵活的内存分配和高效的插入删除操作等特点。根据链表在内存中的分配方式,链表可以分为静态链表和动态链表两种。静态链表在创建时预先分配一块连续的内存空间&…

微服务:nacos

Nacos 由Alibaba推出的集成于SpringCloudAlibaba中的一款开源注册中心框架 主要功能: 注册中心 配置管理 nacos的安装和部署 nacos默认访问端口8848 docker pull nacos/nacos-server:1.2.0 docker run --env MODEstandalone --name nacos --restartalways -d -p 8848:8…

Elasticsearch基础(五):使用Kibana Discover探索数据

文章目录 使用Kibana Discover探索数据 一、添加样例数据 二、数据筛选 三、保存搜索 使用Kibana Discover探索数据 一、添加样例数据 登录Kibana。在Kibana主页的通过添加集成开始使用区域,单击试用样例数据。 在更多添加数据的方式页面下方,单击…

idea2019版本创建JavaWeb项目并配置Tomcat步骤

一、创建JavaWeb项目 1.新建项目File->New->Project 2. 选择JavaWeb应用在New Project窗口中选择Java后勾选Java EE中的Web Application后点击next即可 3.设置项目名称后点击finish即可 4.至此项目创建完成,检查文件是否齐全,开始配置Tomcat 二、…

免费的数字孪生平台助力产业创新,让新质生产力概念有据可依

关于新质生产力的概念,在如今传统企业现代化发展中被反复提及。 那到底什么是新质生产力?它与哪些行业存在联系,我们又该使用什么工具来加快新质生产力的发展呢?今天我将介绍一款为发展新质生产力而量身定做的数字孪生工具。 新…

spring ioc的原理

1、控制反转(IOC):对象的创建控制权由程序自身转移到外部(容器) 2、依赖注入(DI):所谓依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。 Spring 中的 IoC 的实现原理就是工厂模式加反射机制。 参考资料…

中职省培丨2024年大数据技术中职教师专业技能培训班企业参观实践圆满结束

7月17日,“2024年大数据技术中职教师专业技能培训班(省培)”参训老师莅临广东泰迪智能科技股份有限公司产教融合实训中心开展企业参观实践。泰迪智能科技董事长张良均、中职业务部总监李振林、中职业务部经理黄炳德、校企合作经理吴桂锋及来自…

SCU(Seat Control Unit,座椅控制单元)

SCU也叫SCM(Seat Control Module) 智能座椅可以支持更多的座椅姿态调节,除了水平、高度、靠背常规调节,还支持旋转、腿托、肩部、侧翼等方向调节来实现舒适坐姿,智能座椅同时支持加热、通风、按摩、记忆、迎宾等功能。…

一款国外开发的高质量WordPress下载站模板主题

5play下载站是由国外站长开发的一款WordPress主题,主题简约大方,为v1.8版本, 该主题模板中包含了上千个应用,登录后台以后只需要简单的三个步骤就可以轻松发布apk文章, 我们只需要在WordPress后台中导入该主题就可以…

Linux系统学习日记——vim操作手册

Vim编辑器是linux下的一个命令行编辑器,类似于我们windows下的记事本。 目录 打开文件 编辑 保存退出 打开文件 打开 hello.c不存在也可以打开,保存时vim会自动创建。 效果 Vim打开时,处于命令模式,即执行命令的模式&#x…

Java的list集合总结

在编程语言中,我们必然少不了存储数据的容器,虽然我们有数组,但是数组是连续的开辟处一块连续的内存空间,我们的数据过大会无法存储完,数据量小,会浪费空间,所以我们需要使用集合存储数据&#…

前端JS特效第46集:js-实现响应式节庆活动砸金蛋效果

js-实现响应式节庆活动砸金蛋效果&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下(全部代码在文章末尾)&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>响应式节庆活动砸金蛋…

redis持久化RDB(仅供自己参考)

&#xff08;1&#xff09;save命令&#xff1a;是直接占用主线程来执行持久化的&#xff08;因为redis是单线程的&#xff0c;如果执行save命令&#xff0c;则其他命令&#xff0c;无论查询还是怎么的都被阻塞了&#xff09; &#xff08;2&#xff09;bgsave命令&#xff1a…

从安装Node到TypeScript到VsCode的配置教程

从安装Node到TypeScript到VsCode的配置教程 1.下载Node安装包&#xff0c; 链接 2.双击安装包&#xff0c;选择安装路径&#xff0c;如下&#xff1a; 3.一直点击下一步&#xff0c;直至安装结束即可&#xff1a; 这个时候&#xff0c;node会默认配置好环境变量&#xff0c;并且…