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://www.rhkb.cn/news/380360.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么要从C语言开始编程

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「C语言的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!很多小伙伴在入门编程时。都…

01 机器学习概述

目录 1. 基本概念 2. 机器学习三要素 3. 参数估计的四个方法 3.1 经验风险最小化 3.2 结构风险最小化 3.3 最大似然估计 3.4 最大后验估计 4. 偏差-方差分解 5. 机器学习算法的类型 6. 数据的特征表示 7. 评价指标 1. 基本概念 机器学习(Machine Le…

【GraphRAG】微软 graphrag 效果实测

GraphRAG 本文将基于以下来源,对Microsoft GraphRAG分析优缺点、以及示例实测分析。 1. Source 代码仓库: Welcome to GraphRAGhttps://microsoft.github.io/graphrag/ 微软文章1(2024.2.13):GraphRAG: Unlocking…

FinClip 率先入驻 AWS Marketplace,加速全球市场布局

近日,凡泰极客旗下的小程序数字管理平台 FinClip 已成功上线亚马逊云科技(AWS)Marketplace。未来,FinClip 将主要服务于海外市场的开放银行、超级钱包、财富管理、社交电商、智慧城市解决方案等领域。 在全球市场的多样性需求推动…

Guns v7.3.0:基于 Vue3、Antdv 和 TypeScript 打造的开箱即用型前端框架

摘要 本文深入探讨了Guns v7.3.0前端项目,该项目是基于Vue3、Antdv和TypeScript的前端框架,以Vben Admin的脚手架为基础进行了改造。文章分析了Guns 7.3.0的技术特点,包括其使用Vue3、vite2和TypeScript等最新前端技术栈,以及提供…

缓存弊处的体验:异常

缓存(cache),它是什么东西,有神马用,在学习内存的时候理解它作为一个存储器,来对接cpu和内存,来调节cpu与内存的速度不匹配的问题。 缓存,一个偶尔可以听到的专业名词,全…

哪种SSL证书可以快速签发保护http安全访问?

用户访问网站,经常会遇到访问http网页时,提示网站不安全或者不是私密连接的提示,因为http是使用明文传输,数据传输中可能被篡改,数据不被保护,通常需要SSL证书来给数据加密。 SSL证书的签发速度&#xff0…

甲骨文闲置ARM实例防回收的方法

前几日挖了个大坑,今天补一下,谈谈甲骨文闲置实例如何防止回收。 回收原则 2022年11月16日 Oracle添加声明: 从 2022 年 11 月 24 日开始,您闲置的 Always Free 计算实例可能会停止。巴拉巴拉,您还可以随时升级您的帐…

【Outlook】从Outlook新版回归经典版全攻略

引言 在微软宣布计划于2024年底淘汰邮件应用(Mail app)之后,许多用户发现新版Outlook应用(Outlook (new))在他们的Windows 11/10系统上自动启动。如果您更倾向于使用经典版Outlook(Outlook (classic)&…

LeetCode热题100刷题16:74. 搜索二维矩阵、33. 搜索旋转排序数组、153. 寻找旋转排序数组中的最小值、98. 验证二叉搜索树

74. 搜索二维矩阵 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int row matrix.size();int col matrix[0].size();for(int i0;i<row;i) {//先排除一下不存在的情况if(i>0&&matrix[i][0]>target…

中介者模式(行为型)

目录 一、前言 二、中介者模式 三、总结 一、前言 中介者模式&#xff08;Mediator Pattern&#xff09;是一种行为型设计模式&#xff0c;又成为调停者模式&#xff0c;用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地互相引用&#xff0c;从而使其耦合…

【Redis】Redis7学习笔记

系列文章目录 【Redis】Redis十大类型 【Redis】Redis持久化 【Redis】事务 【Redis】管道 【Redis】发布/订阅(Pub/Sub) 【Redis】复制(Replica) 【Redis】哨兵(sentinel) 【Redis】集群 Redis【Remote Dictionary Server&#xff08;远程字典服务器&#xff09;】是用…

CentOS 7 安装Jenkins2.346.1(war方式安装)

既然想要安装Jenkins&#xff0c;肯定是先要从官网解读所需环境配置信息&#xff0c;如需了解更多自行查阅 https://www.jenkins.io/doc/book/installing/linux/ JDK17&#xff0c;Maven3.9 安装 先从官网分别下载JDK17与Maven3.9 下载好之后上传至服务器、并解压&#xff1a…

澎湃算力 玩转AI 华为昇腾AI开发板——香橙派OriengePi AiPro边缘计算案例评测

澎湃算力 玩转AI 华为昇腾AI开发板 香橙派OriengePi AiPro 边缘计算案例评测 人工智能&#xff08;AI&#xff09;技术正以前所未有的速度改变着我们的生活、工作乃至整个社会的面貌。作为推动这一变革的关键力量&#xff0c;边缘计算与AI技术的深度融合正成为行业发展的新趋势…

控制欲过强的Linux小进程

控制欲强?视奸&#xff1f;普通人那才叫视奸&#xff0c;您是皇帝&#xff0c;天下大事无一逃过您的耳目&#xff0c;您想看什么就看什么&#xff0c;臣怀疑他在朋友圈私养兵士&#xff0c;囤积枪甲&#xff0c;蓄意谋反&#xff0c;图谋皇位啊&#xff01; 哈哈哈哈开个玩笑&…

正则表达式(Ⅰ)——基本匹配

学习练习建议 正则表达式用途非常广泛&#xff0c;各种语言中都能见到它的身影&#xff08;js&#xff0c;java&#xff0c;mysql等&#xff09; 正则表达式可以快读校验/生成/替换符合要求的模式的字符串&#xff0c;而且语法通俗易懂&#xff0c;所以应用广泛 学习链接&am…

git clone加速

gitte克隆法 1.复制链接 2.gitte新建仓库 3.导入 并将原来的目标的url输入 4.从gitte导入 git clone https://gitee.com/gsci-panda/infini-lm2

排序系列 之 快速排序

&#xff01;&#xff01;&#xff01;排序仅针对于数组哦本次排序是按照升序来的哦代码后边有图解哦 介绍 快速排序英文名为Quick Sort 基本思路 快速排序采用的是分治思想&#xff0c;即在一个无序的序列中选取一个任意的基准元素base&#xff0c;利用base将待排序的序列分…

(01)Unity使用在线AI大模型(使用百度千帆服务)

目录 一、概要 二、环境说明 三、申请百度千帆Key 四、使用千帆大模型 四、给大模型套壳 一、概要 在Unity中使用在线大模型分为两篇发布&#xff0c;此篇文档为在Python中使用千帆大模型&#xff0c;整体实现逻辑是&#xff1a;在Python中接入大模型—>发布为可传参的…

算法日记day 12(栈实现队列|队列实现栈|有效的括号)

队列是先进先出的&#xff0c;就像排队一样&#xff0c;谁在前谁先获得服务 栈是一种先进后出的数据结构 一、用栈实现队列 题目&#xff1a; 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作&#xff08;push、pop、peek、empty&#xff09;&#xf…