如何修改 CentOS 7 SSH Port

近期查看 /var/log/secure Log 發現大量的不明 IP 嘗試登入我的主機,產生了很多 Log,如下(每分鐘就來個6~7次,看的很煩)

[root@localhost ~]$ cat /var/log/secure
Mar 30 15:08:23 onepic sshd[8198]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:08:34 onepic sshd[8204]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:08:46 onepic sshd[8205]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:08:57 onepic sshd[8206]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:09:08 onepic sshd[8211]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:09:20 onepic sshd[8212]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:09:32 onepic sshd[8221]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:09:42 onepic sshd[8224]: refused connect from 120.48.4.5 (120.48.4.5)
Mar 30 15:09:43 onepic sshd[8225]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:09:54 onepic sshd[8226]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:10:05 onepic sshd[8238]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:10:17 onepic sshd[8239]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:10:28 onepic sshd[8250]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:10:36 onepic sshd[8251]: refused connect from 167.99.254.203 (167.99.254.203)
Mar 30 15:10:39 onepic sshd[8252]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:10:46 onepic sshd[8253]: refused connect from 209.141.43.56 (209.141.43.56)
Mar 30 15:10:51 onepic sshd[8254]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:11:02 onepic sshd[8255]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:11:13 onepic sshd[8256]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:11:24 onepic sshd[8269]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:11:35 onepic sshd[8270]: refused connect from 14.162.179.66 (14.162.179.66)
Mar 30 15:11:47 onepic sshd[8271]: refused connect from 14.162.179.66 (14.162.179.66)

過程中有使用過 fail2ban,但是在 hosts.deny 上增加了 幾千筆的資料,也有可能對方使用 偽 IP 進行 SSH 登入。

最後決定更新 SSH Port 來阻擋惡意登入用戶,也就是把 22 port 改成其它 port,因為 22 Port是大家知道的 SSH 服務端口,改了也比較不容易被攻擊。

以下是修改流程。

閱讀更多

如何使用 Docker 架設 Gitlab

git 真的是程式控管的好工具,市面上有很多git服務,如:Github、Bitbucket、SourceForge…等等,但有些限制,有的是提供五個私人倉,其它需要公開,如果需要增加私人倉庫時,就需要在付費。

如果是公司開發需要時,但又不想要將程式外流到外部主機上, GitLab 是一個好的選擇,以下就教如何快速使用 Docker 建立一個你的 GitLab。

閱讀更多

WOL (Wake On Lan) Wake On Lan remote boot function-you can boot the computer outside

Wake on LAN-you can boot your computer when you are outside

Because I have two PCs at home, one Windows 10 and one Linux CentOS 7, I don’t know if the machine is too old or there is a power problem. Sometimes it hangs up suddenly. When I went home, I saw him resting and shut down there. While waiting to press the boot button, I searched for information on the Internet and found WOL (Wake On Lan) about the method of booting on the Internet, so I wanted to give it a try, and then I set it up. In fact, it is not difficult. One problem, his environment is executed under the LAN, but if you are outside, you have to use some other methods. If you have a router at home that supports the DMZ function, you can set the external IP to the internal IP. But there is another problem. If you don’t have a fixed IP, it won’t work. Later, I used a useless mobile phone to do remote WOL (Wake On Lan). The information is as follows.

use tools

  1. Settings on the WOL host (Windows 10 / CentOS 7)
  2. Teamviewer HOST
  3. Wake On Lan (Android / Free)
閱讀更多

如何將 Docker 升級至最新版本

最近在安裝 Docker 時發現,怎麼使用 yum install -y docker 安裝的 Docker 版本都會是 Docker version 1.13.1 (官網),這版本已經是 2017年2月8日,好舊的版本,目前官方都已經更新到 Docker version 20.10.3 (官網) 2021年2月1日。

整理了一下,如何將舊版本強制更新至最新版流程。
使用的OS為 CentOS7

一、確認目前的版本

可使用以下指令確認,並記錄目前已安裝的套件
docker -v or docker version
rpm -qa | grep docker

[root@web ~]# docker -v
Docker version 1.13.1, build 0be3e21/1.13.1
[root@web ~]# rpm -qa | grep docker
docker-common-1.13.1-203.git0be3e21.el7.centos.x86_64
docker-client-1.13.1-203.git0be3e21.el7.centos.x86_64
docker-1.13.1-203.git0be3e21.el7.centos.x86_64
閱讀更多

如何建立私人的 docker registry 架設教學 (三)

Docker Registry 主機架好了,但要怎麼查詢你需要的 Docker Image 或 Tag 號呢?

  • 使用指令進行查詢
  • 架設一台 Docker Web UI

架設一台 Docker Web UI

使用 hyper/docker-registry-web 所提供的 Docker Web UI 工具來顯示 Docker Registry 放了哪些Docker Image

先登入到你的 Docker Registry 主機,進行 docker run 安裝 hyper/docker-registry-web,使用 docker run -d -p 8080:8080 --name registry-web --link registry -e REGISTRY_URL=http://docker-registry.com.cc:5000/v2 hyper/docker-registry-web

閱讀更多

如何建立私人的 docker registry 架設教學 (二)

Docker Registry 主機架好了,但要怎麼查詢你需要的 Docker Image 或 Tag 號呢?

  • 使用 Restful API 指令進行查詢
  • 架設一台 Docker Web UI

使用 Restful API 指令進行查詢

Docker Registry 有提供 Restful API 來進行查詢 Docker Registry 資料

進行 Docker Images 查詢,使用 curl -X GET http://docker-registry.com.cc:5000/v2/_catalog

閱讀更多

Docker 日誌放在哪?

雖然我們可以透過 docker logs <container name> 去看 container 裡的日誌,但是如果 docker 服務壞了,我們要去哪裡找呢?

Docker 日誌

Docker 日誌 一般是交给了 Upstart(Ubuntu 14.04) 或者 systemd (CentOS 7, Ubuntu 16.04)。前者一般位於 /var/log/upstart/docker.log 下,後者一般通過 jounarlctl -u docker 来讀取。不同系统的位置都不一樣,可以參考下表:

OS系統日誌路徑
Ubuntu(14.04)/var/log/upstart/docker.log
Ubuntu(16.04)journalctl -u docker.service
CentOSjournalctl -u docker.service
Fedorajournalctl -u docker.service
閱讀更多

如何在 Mysql Server 增加用戶權限

環境說明:

CentOS Linux release 7.9.2009 (Core)
MariaDB Ver 15.1 Distrib 5.5.68-MariaDB

常用指令:

[root@mysql ~]# mysql -uroot -p -h 192.168.0.2 -P 3306

-u 使用者帳號
-p 使用都密碼
-h 連線目標的IP(192.168.0.2),如果是本地則不需加入
-P 大P 是端口(port),預設為3306,若目標端口(port)有指定則需要填寫

一、登入 Mysql

[root@mysql ~]# mysql -uroot -p
Enter password: ********
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
閱讀更多

如何建立私人的 docker registry 架設教學 (一)

一、建立自己的 docker registry 主機

參考docker registry 來源:https://hub.docker.com/_/registry

環境:CentOS 7

  • Docker-Registry:私倉主機(docker-registry.com.cc:5000)
  • nginx:連線至Docker_Registry主機進行 image push 流程

Docker-Registry主機上執行指令docker run -d -p 5000:5000 -v /home/docker-registry/storage:/var/lib/registry --name registry registry:latest

[root@Docker-Registry ~]# docker run -d -p 5000:5000 -v /home/docker-registry/storage:/var/lib/registry --name registry registry:latest
Unable to find image 'registry:latest' locally
Trying to pull repository docker.io/library/registry ... 
latest: Pulling from docker.io/library/registry
cbdbe7a5bc2a: Pull complete 
47112e65547d: Pull complete 
46bcb632e506: Pull complete 
c1cc712bcecd: Pull complete 
3db6272dcbfa: Pull complete 
Digest: sha256:8be26f81ffea54106bae012c6f349df70f4d5e7e2ec01b143c46e2c03b9e551d
Status: Downloaded newer image for docker.io/registry:latest
4c8c0b3e0981716be24d49c360a46c38ccdeaafd9f52ee541a250e8154f17941

指令說明:

-d 背景執行
-p 5000:5000 使用5000 port
-v 將本地的 /home/docker-registry/storage 關連至 /var/lib/registry
–name docker令名,可自定
registry:latest 取得docker hub 上 registry 最新的版本

建立完成後,可執行 docker ps -a 查看是否正常運行

[root@Docker-Registry ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
4c8c0b3e0981        registry:latest     "/entrypoint.sh /e..."   18 minutes ago      Up 18 minutes       0.0.0.0:5000->5000/tcp   registry
閱讀更多