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.mzph.cn/bicheng/48062.shtml

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

相关文章

云计算实训09——rsync远程同步、自动化推取文件、对rsyncd服务进行加密操作、远程监控脚本

一、rsync远程同步 1.rsync基本概述 (1)sync同步 (2)async异步 (3)rsync远程同步 2.rsync的特点 可以镜像保存整个目录树和文件系统 可以保留原有权限,owner,group,时间,软硬链…

数据分析入门:用Python和Numpy探索音乐流行趋势

一、引言 音乐是文化的重要组成部分,而音乐流行趋势则反映了社会文化的变迁和人们审美的变化。通过分析音乐榜单,我们可以了解哪些歌曲或歌手正在受到大众的欢迎,甚至预测未来的流行趋势。Python作为一种强大的编程语言,结合其丰…

[数据集][目标检测]导盲犬拐杖检测数据集VOC+YOLO格式4635张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4635 标注数量(xml文件个数):4635 标注数量(txt文件个数):4635 标注…

【ubuntu】没有声音??连不上网络???

一. ubuntu 突然之后没有声音??? 卸载并重新加载 ALSA 驱动: 使用 alsa force-reload 命令来卸载并重新加载 ALSA 驱动: sudo alsa reload还不行?那就强制 reload sudo alsa force-reload二. ubuntu 突…

深入剖析CommonJS modules和ECMAScript modules

目录 前言CommonJS:服务器端模块化的先驱背景与起源语法与机制 ECMAScript Modules:现代前端的基石背景与起源语法与机制 比较与权衡语法差异加载机制编译时与运行时运行时行为构建第三方库现代开发环境 结论 前言 在 JavaScript 生态系统中&#xff0c…

RabbitMQ学习实践一:MQ的安装

文章是本人在学习springboot实现消息队列功能时所经历的过程的记录,仅供参考,如有侵权请随时指出。 参考文章地址: RabbitMQ安装与入门_rabbitmq win11配置-CSDN博客 RabbitMQ入门到实战一篇文章就够了-CSDN博客 RabbitMQ系列&#xff08…

【LeetCode】十五、回溯法:括号生成 + 子集

文章目录 1、回溯法2、leetcode22:括号生成3、leetcode78:子集 1、回溯法 使用场景,如找[1,2,3]的所有子集: 2、leetcode22:括号生成 以n2为例,即两个左括号、两个右括号&#xff0c…

汇编实验5

本实验在32位Linux虚拟机中完成(点击查看安装教程) 实验内容 二进制炸弹实际是由C语言源程序生成的可执行目标代码,主程序可参考bomb.c。运行时,会按次序提示用户输入3个不同的字符串。如果输入的字符串有误,炸弹就会…

随手记:vsCode修改主题色为自定义颜色

因为工作需要长时间面对vscode,视力不好,想要把工具改成护眼色,于是就把vscode改成了自定义的护眼色 效果图: 操作步骤: 快捷键打开设置页面: 按住ctrlshiftp 选择Open setting 按回车键 打开setting页面编…

FlagEval 7月榜丨新增29个模型评测结果,智源发布评估技术报告《AI大模型能力全景扫描》

智源研究院FlagEval 7月榜单新增29个语言、多模态和文生图开源与闭源模型评测结果,包括阿里巴巴、OpenAI、快手、智谱等厂商近期发布的新模型。 本次评测发现,大语言模型,国产模型主观能力整体有所提升;视觉语言新模型的能力有所…

ArduPilot开源代码之AP_DAL_RangeFinder

ArduPilot开源代码之AP_DAL_RangeFinder 1. 源由2. 框架设计2.1 枚举 Status2.2 公有方法2.3 私有成员变量 3. 重要例程3.1 应用函数3.1.1 ground_clearance_cm_orient3.1.2 max_distance_cm_orient3.1.3 has_orientation3.1.4 get_backend 3.2 其他函数3.2.1 AP_DAL_RangeFind…

git config

文章目录 1.简介2.格式3.选项4.示例参考文献 1.简介 安装完 Git 后,需要对 Git 环境进行一次配置,且只需要配置一次。程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。 Git 自带一个 git config 的工具来设置控制 Git 外观和…

AI(Adobe lliustrator)教程+软件包

简介: 软件主要应用于印刷出版、海报书籍排版、专业插画、多媒体图像处理和互联网页面的制作等,也可以为线稿提供较高的精度和控制,适合生产任何小型设计到大型的复杂项目。 通常用于创建LOGO(商标或徽标),图标,插图…

【数据结构】线性结构——数组、链表、栈和队列

目录 前言 一、数组(Array) 1.1优点 1.2缺点 1.3适用场景 二、链表(Linked List) 2.1优点 2.2缺点 2.3适用场景 三、栈(Stack) 3.1优点 3.2缺点 3.3适用场景 四、队列(Queue) 4.1优点…

根目录满迁移docker文件

在 Ubuntu 下,迁移 Docker 的数据存储位置到另一个挂载点需要按照以下步骤进行操作。确保在操作之前备份重要数据,以防止意外情况发生。 步骤概述 停止 Docker 服务: bash sudo systemctl stop docker创建新的存储位置: 假设你有…

递归式函数

在java中&#xff0c;函数递归是会报编译错误的。比如我定义一个斐波那契函数&#xff1a; public class RecursiveFunction {public static void main(String[] args) {fibonacci x -> x < 3 ? 1 : fibonacci.apply(x - 1) fibonacci.apply(x - 2);} }它就报了这个错…

设计模式-三大分类

软件七大设计原则 1、单一职责 定义&#xff1a;每个类应该只有一个引起它变化的原因。 解释&#xff1a;一个类只负责一个功能&#xff0c;这样可以减少类之间的耦合&#xff0c;提高系统的可维护性和可扩展性。 2、开闭原则 定义&#xff1a;软件实体&#xff08;类、模块…

使用Dockerfile构建镜像

通过基础镜像 centos:7&#xff0c;在该镜像中安装 jdk 和 tomcat 以后将其制作为一个新的镜像 mscentos:7 创建目录 mkdir -p /kong/docker/dockerfile编写 Dockerfile 文件 vim DockerfileDockerfile 文件内容如下&#xff1a; # 指明构建的新镜像是来自于 centos:7 基础…

广义可加模型和光滑曲线拟合的R代码

&#x1f3c6;本文收录于《CSDN问答解答》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&…

jvm-并发-java基础-数据结构小测

这篇文章是一些练习题&#xff0c;答案后续更新。 请简述银行家算法 请简述死锁产生的条件 解决死锁的几种方式 简述synchronized锁的膨胀 什么是cas cas 的问题如何解决 jmm 简单理解 volatile 单例模式 线程安全的两种代码 懒汉&恶汉 线程池的7个参数分别是什么…