惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
The Register - Security
The Register - Security
Stack Overflow Blog
Stack Overflow Blog
博客园 - 三生石上(FineUI控件)
T
Threat Research - Cisco Blogs
S
SegmentFault 最新的问题
V2EX - 技术
V2EX - 技术
Hacker News: Ask HN
Hacker News: Ask HN
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Proofpoint News Feed
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
AI
AI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
B
Blog
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
C
Cybersecurity and Infrastructure Security Agency CISA
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
U
Unit 42
腾讯CDC
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Cloudflare Blog
H
Help Net Security
Recent Announcements
Recent Announcements
P
Privacy & Cybersecurity Law Blog
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Archives - TechRepublic
Security Archives - TechRepublic
L
LINUX DO - 热门话题
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
H
Heimdal Security Blog
博客园 - 聂微东
S
Securelist
大猫的无限游戏
大猫的无限游戏
Cloudbric
Cloudbric
Cisco Talos Blog
Cisco Talos Blog

博客园 - 泡面 @ 幸福

nodejs&wsl&vscode&docker开发环境搭建 python中list数组指定类型 windows10安装Trading View出错解决办法 windows or linux 64位安装ta-lib包 在centos7升级nodejs到最新版本 一张自画的RBAC用户、组、角色、权限、指令、资源图 JSON树形格式从子级获取所有父级ID JSON数据格式生成无限级树结构 MYSQL查询上级和下级 码云push时提示 DeployKey does not support push code fatal: Could not read from remote repository. git常用命令 thinkjs框架发布上线PM2管理,静态资源访问配置 登陆服务器提示“You need to run "nvm install N/A" to install it before using it.” CentOS 7.x 用shell增加、删除端口 CentOS 7.X 安全手记 Centos 7.x nginx隐藏版本号 centos7磁盘挂载及取消 CentOS 7.4上网速度慢,修改DNS! Centos7.4 安装Docker
在centos7开启SSH服务
泡面 @ 幸福 · 2020-02-20 · via 博客园 - 泡面 @ 幸福

1、查看是否已安装了SSH服务

  # rpm -qa | grep ssh

   

  该系统中没有安装SSH服务

2、安装SSH服务

  # yum install openssh-server

     

 安装成功

 3、启动SSH服务

  1)、修改配置文件

  # vi /etc/ssh/sshd_config

  

 esc+:wq 保存退出

  2)、启动服务

  # /bin/systemctl start sshd.service  (该命令没有回显说明成功了)

  3)、在docker会提示错误:Failed to get D-Bus connection: Operation not permitted

报这个错的原因是dbus-daemon没能启动。systemctl并不是不能使用。将CMD或者entrypoint设置为/usr/sbin/init即可。docker容器会自动将dbus等服务启动起来。

  a)、退出docker

  b)、重新创建容器

    docker run -d -it --privileged aipeli/node:v1 /usr/sbin/init

    在创建容器时一定要把端口映射带!

    docker run -d -it -p 3000:3000 --privileged aipeli/node:v1 /usr/sbin/init

  c)、进入容器

    docker exec -it 91 /bin/bash

 4、查看Openssl-server版本号

  # sshd -v

5、生成公钥

  1)、进行 cd ~/.ssh,如果不存在,说明没有创建公钥

  2)、生成公钥、私钥

  # ssh-keygen -t rsa -C "xxx@163.com"

  3)、查看公钥

  # cat ~/.ssh/id_rsa.pub

  

6、将公钥拷贝到gitee里配置

  1)、先创建一个仓库

  2)、在这个仓库里增加公钥

  

7、在docker可centos服务器上时行测试

  # ssh -T git@gitee.com

  1)、在docker里黙认没有ssh客户端工具

  # yum install openssh-clients

  2)、继续进行测试(3次回车)

  

   3)、测试成功

   4)、在docker中创建存放代码的目录,如:/www

   5)、在www目录中git clone 仓库,一定要用ssh协议,如果仓库为私有时需要输入用户名密码

  # git clone git@gitee.com:aipeli/webhook.git

  6)、查看远程仓库连接,进入/www/webhook目录(/www目录应该从宿主机上挂载,数据与容器分离更于自动化布署)

如果要挂载目录,创建容器的命令则改为:

  # docker run -d -it -p 3000:3000 -v /wwwroot:/www --privileged aipeli/node:v1 /usr/sbin/init

    /wwwroot:为宿主的目录

    /www:为docker容器的目录

  # git remote -v

    

 到这里,gitee仓库、SSH配置、docker的目录结构配置完成了!

8、在docker /opt目录中布署文件

  1)、创建目录  mkdir webhook

  # npm init

  # npm install  gitee-webhook-handler --save

  2)、修改package.json

  "start": "node index.js"

  3)、创建deploy.sh文件

 #! /bin/bash


git reset --hard origin/master
git clean -f
git pull origin master
npm install
npm run test
npm run start

  4)、创建index.js文件

 var http = require('http')

var createHandler = require('gitee-webhook-handler')
var handler = createHandler({ path: '/webhooks_push', secret: '123456' })# post 所需要用到的秘钥

function run_cmd(cmd, args, callback) {
  var spawn = require('child_process').spawn;
  var child = spawn(cmd, args);
  var resp = "";
  child.stdout.on('data', function(buffer) { resp += buffer.toString(); });
  child.stdout.on('end', function() { callback (resp) });
}
handler.on('error', function (err) {
  console.error('Error:', err.message)
})
handler.on('Push Hook', function (event) {  # 这个地方就是GitHub 和 Gitee 不一样的地方,需要注意
  console.log('Received a push event for %s to %s',
    event.payload.repository.name,
    event.payload.ref);
    run_cmd('sh', ['./deploy.sh'], function(text){ console.log(text) });# 需要执行的脚本位置
})
try {
  http.createServer(function (req, res) {
    handler(req, res, function (err) {
      res.statusCode = 404
      res.end('no such location')
    })
  }).listen(3000) # 服务监听的端口,可以自行修改
}catch(err){
  console.error('Error:', err.message)
}

  5)、运行node index.js

9、配置nginx端口转发

  1)、查看docker端口状态,docker ps

    

   2)、在/www/server/panel/vhost/nginx下创建webhook.aipeli.com.conf配置文件

server
{
  listen 80 default_server;
  server_name webhook.aipeli.com;
  location / {
  proxy_pass http://172.17.0.2:3000;
  }
}

  3)、在宝塔控制面板上打开3000端口(很重要!!!

查看端口是否开启

5、映射端口到docker