日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

运维基本功(十六):远程管理SSH服务

發(fā)布時(shí)間:2024/1/1 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 运维基本功(十六):远程管理SSH服务 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文是在課程課件基礎(chǔ)上修改的學(xué)習(xí)筆記
課程原地址:https://www.bilibili.com/video/BV1nW411L7xm
如有侵刪
運(yùn)維基本功(一):Linux系統(tǒng)安裝
運(yùn)維基本功(二):Linux基本命令
運(yùn)維基本功(三):Linux文件管理
運(yùn)維基本功(四):Linux文件管理-Vim編輯器概述
運(yùn)維基本功(五):Linux文件管理-用戶管理
運(yùn)維基本功(六):Linux用戶管理-遠(yuǎn)程管理
運(yùn)維基本功(七):Linux的權(quán)限管理操作
運(yùn)維基本功(八):Linux自有服務(wù)與軟件包管理
運(yùn)維基本功(九): Linux自有服務(wù)-防火墻&計(jì)劃任務(wù)
運(yùn)維基本功(十): Linux計(jì)劃任務(wù)以及進(jìn)程檢測(cè)與控制
運(yùn)維基本功(十一): LAMP項(xiàng)目部署實(shí)戰(zhàn)
運(yùn)維基本功(十二): Linux命令回顧與擴(kuò)展
運(yùn)維基本功(十三): 再談?dòng)脩艚M管理
運(yùn)維基本功(十四):Linux下yum源配置實(shí)戰(zhàn)
運(yùn)維基本功(十五):Linux系統(tǒng)優(yōu)化基礎(chǔ)
運(yùn)維基本功(十六):遠(yuǎn)程管理SSH服務(wù)

一、場(chǎng)景引入

1、任務(wù)背景

為了最大程度的保護(hù)公司內(nèi)網(wǎng)服務(wù)器的安全,公司內(nèi)部有一臺(tái)服務(wù)器做跳板機(jī)(跳板機(jī)(Jump Server),也稱堡壘機(jī),是一類可作為跳板批量操作遠(yuǎn)程設(shè)備的網(wǎng)絡(luò)設(shè)備,是系統(tǒng)管理員或運(yùn)維人員常用的操作平臺(tái)之一)。運(yùn)維人員在維護(hù)過程中首先要統(tǒng)一登錄到這臺(tái)服務(wù)器,然后再登錄到目標(biāo)設(shè)備進(jìn)行維護(hù)和操作。由于開發(fā)人員有時(shí)候需要通過跳板機(jī)登錄到線上生產(chǎn)環(huán)境查看一些業(yè)務(wù)日志,所以現(xiàn)在需要運(yùn)維人員針對(duì)不同的人員和需求對(duì)賬號(hào)密碼進(jìn)行統(tǒng)一管理,并且遵循權(quán)限最小化原則。

2、任務(wù)要求

  • 跳板機(jī)上為每個(gè)開發(fā)人員創(chuàng)建一個(gè)賬號(hào),并且只能在指定的目錄里管理自己的文件。
  • 線上生產(chǎn)服務(wù)器,禁止使用root用戶遠(yuǎn)程登錄。
  • 線上生產(chǎn)服務(wù)器sshd服務(wù)不允許使用默認(rèn)端口,防止自動(dòng)腳本攻擊默認(rèn)端口。
  • 線上生產(chǎn)服務(wù)器上開發(fā)人員使用的賬號(hào)code用戶的密碼使用工具隨機(jī)生成。
  • 3、任務(wù)拆解

  • 跳板機(jī)上為開發(fā)人員創(chuàng)建用戶及公共目錄供開發(fā)人員使用,并做好權(quán)限控制
  • 所有線上生產(chǎn)服務(wù)器搭建ssh服務(wù)
  • 對(duì)于ssh服務(wù)根據(jù)需求進(jìn)行配置
    • 禁止root用戶遠(yuǎn)程登錄
    • 更改默認(rèn)端口(22=>10086)
  • 線上生產(chǎn)服務(wù)器創(chuàng)建code用戶,并安裝工具來生成隨機(jī)密碼
  • 4、涉及知識(shí)點(diǎn)

    • 用戶權(quán)限管理(舊知識(shí)點(diǎn))
    • ssh服務(wù)配置(新知識(shí)點(diǎn))
    • 生成隨機(jī)密碼工具(新知識(shí)點(diǎn))

    二、理論儲(chǔ)備

    1、什么是服務(wù)

    • 運(yùn)行在操作系統(tǒng)后臺(tái)的一個(gè)或者多個(gè)程序,為系統(tǒng)或者用戶提供特定的服務(wù)
    • 可靠的,并發(fā)的,連續(xù)的不間斷的運(yùn)行,隨時(shí)接受請(qǐng)求
    • 通過交互式提供服務(wù)

    2、服務(wù)架構(gòu)模型

    1、B/S架構(gòu)

    • B/S(browser/server) 瀏覽器/服務(wù)器

    概念:這種結(jié)構(gòu)用戶界面是完全通過瀏覽器來實(shí)現(xiàn),使用http協(xié)議
    優(yōu)勢(shì):節(jié)約開發(fā)成本

    2、C/S架構(gòu)

    • C/S(client/server)客戶端/服務(wù)器

    概念:指的是客戶端和服務(wù)端之間的通信方式,客戶端提供用戶請(qǐng)求接口,服務(wù)端響應(yīng)請(qǐng)求進(jìn)行對(duì)應(yīng)的處理,并返回給客戶端
    優(yōu)勢(shì):安全性較高,一般面向具體的應(yīng)用

    3、兩者區(qū)別

    B/S:
    1、廣域網(wǎng),只需要有瀏覽器即可
    2、一般面向整個(gè)互聯(lián)網(wǎng)用戶,安全性低
    3、維護(hù)升級(jí)簡(jiǎn)單

    C/S:
    1、專用網(wǎng)絡(luò)、小型局域網(wǎng),需要具體安裝對(duì)應(yīng)的軟件
    2、一般面向固定用戶,安全性較高

    思考:C/S B/S哪種更好呢?

    思考1:

    我們通過網(wǎng)絡(luò)是如何找到我們想要訪問的服務(wù)的?

    IP(提供服務(wù)的服務(wù)器)+Port(找到相應(yīng)的服務(wù))

    3、端口號(hào)設(shè)定

    說明:端口號(hào)只有整數(shù),范圍是從0 到65535
    ? 1~255:一般是知名端口號(hào),如:ftp 21號(hào)、web 80、ssh 22、telnet 23號(hào)等
    ? 256~1023:通常都是由Unix系統(tǒng)占用來提供特定的服務(wù)
    ? 1024~5000:客戶端的臨時(shí)端口,隨機(jī)產(chǎn)生
    ? 大于5000:為互聯(lián)網(wǎng)上的其他服務(wù)預(yù)留

    思考2:

    如何查看系統(tǒng)默認(rèn)的注冊(cè)端口?

    /etc/serivces

    4、常見的網(wǎng)絡(luò)服務(wù)

    • 文件共享服務(wù):FTP、SMB、NFS
    • 域名管理服務(wù):DNS
    • 網(wǎng)站服務(wù):Apache(httpd)、Nginx、Lighttpd、IIS
    • 郵件服務(wù): Mail
    • 遠(yuǎn)程管理服務(wù):SSH、telnet
    • 動(dòng)態(tài)地址管理服務(wù):DHCP

    5、SSH服務(wù)概述

    ? 熟悉Linux的人那肯定都對(duì)SSH不陌生。ssh是一種用于安全訪問遠(yuǎn)程服務(wù)器的協(xié)議,遠(yuǎn)程管理工具。它之所以集萬千寵愛為一身,就是因?yàn)樗陌踩?。那么它到底是怎么樣來保證安全的呢?到底是如何工作的呢?

    ? 首先,在講SSH是如何保證安全的之前,我們先來了解以下幾個(gè)密碼學(xué)相關(guān)概念:

    1、加密算法

    ①對(duì)稱加密算法(DES)

  • Jack想要給Harry發(fā)送信息一個(gè)信息A,為了安全起見,Jack使用一種加密算法,比如給信息通過加一個(gè)數(shù)字B得到一個(gè)新的數(shù)字C,然后以公開的方式發(fā)送給Harry
  • Harry接受到數(shù)字C后,通過減去一個(gè)數(shù)字B得到最終的真正的信息A
  • Jack發(fā)送給Harry的信息A稱為明文;加密后的信息C稱為密文;加密用的B稱之為密鑰
  • 加密算法(方法)可以很復(fù)雜,不一定是加和減,也可以是乘和除等等
  • 以上過程中,加密和解密的秘鑰是同一個(gè)密鑰B
  • 總結(jié):

  • 發(fā)送方使用密鑰明文數(shù)據(jù)加密成密文,然后發(fā)送出去
  • 接收方收到密文后,使用同一個(gè)密鑰將密文解密成明文進(jìn)行讀取
  • ②非對(duì)稱加密算法(RSA)

  • 首先Harry生成一對(duì)有相互關(guān)系的密鑰對(duì),比如e(公鑰)和f(私鑰);其中公鑰是可以公開給所有人的,私鑰必須Harry本人私自留存,不得泄露。
  • 當(dāng)Jack發(fā)送請(qǐng)求時(shí),Harry會(huì)把自己的公鑰e發(fā)送給Jack
  • Jack拿著Harry的公鑰e通過一種加密算法將信息A加密成密文C,以公開的方式發(fā)送給Harry
  • Harry收到密文C后,通過自己本地留存的私鑰f將密文解密成最終的信息A
  • 以上過程中,加密使用的是公鑰e,解密使用的是私鑰f;使用不同的秘鑰加解密
  • 總結(jié):

  • 發(fā)送方使用接收方發(fā)送過來的公鑰明文數(shù)據(jù)加密成密文,然后發(fā)送出去
  • 接收方收到密文后,使用自己本地留存的私鑰將密文解密成明文進(jìn)行讀取
    • 對(duì)稱加密算法與非對(duì)稱加密算法區(qū)別

      • 對(duì)稱加密
      • 使用同一個(gè)密鑰進(jìn)行加密和解密,密鑰容易泄露
      • 加密速度快,效率高,數(shù)據(jù)傳輸速度快,安全性較低
      • 非對(duì)稱加密
      • 使用不同的密鑰(公鑰和私鑰)進(jìn)行加密和解密
      • 加密速度遠(yuǎn)遠(yuǎn)慢于對(duì)稱加密,數(shù)據(jù)傳輸速度慢,安全性較高

    問: 了解了加密算法,那SSH到底是如何保證數(shù)據(jù)安全的呢?

    答:SSH服務(wù)有兩種認(rèn)證方式,分別是基于用戶名密碼認(rèn)證和密鑰對(duì)認(rèn)證

    2、SSH基于用戶名密碼認(rèn)證原理

  • SSH客戶端向SSH服務(wù)端發(fā)起一個(gè)登錄請(qǐng)求

  • SSH服務(wù)端將自己的公鑰發(fā)送給SSH客戶端

    注意:如果是第一次訪問,則提示以下內(nèi)容:

    # ssh遠(yuǎn)程登錄操作 首次 ssh 192.168.19.101 # 顯示結(jié)果 # 無法確認(rèn)主機(jī)的真實(shí)性 The authenticity of host '192.168.19.101 (192.168.19.101)' can't be established. ECDSA key fingerprint is SHA256:Y/cQNWWkX15o2MsJ5HOQBI2m8S33qIA+x3zys8J4pOY. ECDSA key fingerprint is MD5:76:61:86:8b:d5:ee:bf:9c:60:e6:12:fa:f6:f0:74:36. Are you sure you want to continue connecting (yes/no)?yes Warning: Permanently added '192.168.19.101' (ECDSA) to the list of known hosts. #說明: #當(dāng)客戶端輸入yes確認(rèn)對(duì)方的公鑰指紋后,server端的公鑰就會(huì)被存放到客戶機(jī)的用戶家目錄里~/.ssh/known_hosts文件中,下次再訪問就直接通過密碼登錄,不需要再確認(rèn)公鑰。
  • SSH客戶端使用服務(wù)端發(fā)過來的公鑰將自己的密碼加密并且發(fā)送給SSH服務(wù)端

  • SSH服務(wù)端收到SSH客戶端發(fā)過來的加密密碼后使用本地留存的私鑰進(jìn)行解密

  • SSH服務(wù)端將解密出來的密碼和/etc/shadow文件里的用戶密碼對(duì)比認(rèn)證

  • SSH服務(wù)端認(rèn)證成功,則返回登錄成功結(jié)果,并發(fā)送一個(gè)隨機(jī)會(huì)話口令給客戶端,該口令用于后面兩臺(tái)主機(jī)進(jìn)行數(shù)據(jù)傳輸?shù)囊粋€(gè)臨時(shí)加密會(huì)話口令

  • 3、 SSH介紹總結(jié)

    • SSH是Linux下遠(yuǎn)程管理的工具,相比Telnet安全,運(yùn)維人員必備的神器!
    • SSH的全稱Secure Shell,安全的shell,是Client/Server架構(gòu),默認(rèn)端口號(hào)為22,TCP協(xié)議
    • SSH其實(shí)用于商業(yè),而OpenSSH即為開源的,在Linux中默認(rèn)安裝

    6、SSH服務(wù)配置

    1、搭建所有服務(wù)的思路

    • 關(guān)閉防火墻和selinux(實(shí)驗(yàn)環(huán)境都先關(guān)閉掉)
    • 配置yum源(公網(wǎng)源或者本地源)
    • 軟件安裝和檢查
    • 了解并修改配置文件
    • 啟動(dòng)服務(wù)檢查運(yùn)行狀態(tài)并設(shè)置開機(jī)自啟動(dòng)

    2、搭建SSH服務(wù)

    (一)關(guān)閉防火墻和selinux

    # 關(guān)閉firewalld防火墻 # 臨時(shí)關(guān)閉 systemctl stop firewalld # 關(guān)閉開機(jī)自啟動(dòng) systemctl disable firewalld # 關(guān)閉selinux # 臨時(shí)關(guān)閉 setenforce 0 # 修改配置文件 永久關(guān)閉 vim /etc/selinux/config SELINUX=disabled

    (二)配置yum源

    注意:一般情況下使用網(wǎng)絡(luò)源即可。如果沒有網(wǎng)絡(luò)的情況下,才需要配置本地源

    ? 【配置開始】


    ①掛載鏡像光盤
    # 建立光盤掛載目錄文件夾 mkdir /dvd # 手動(dòng)掛載光盤 mount /dev/sr0 /dvd # lsblk查看是否掛載成功 查看mount點(diǎn)或者查看掛載到的目錄內(nèi)容 # 添加到開啟加載腳本 開機(jī)自動(dòng)掛載光盤 echo "mount /dev/sr0 /dvd" >> /etc/rc.local
    ②配置本地yum源
    cd /etc/yum.repos.d mkdir bak #移動(dòng)默認(rèn)源 備份并使其失效 mv ./* ./bak #按照掛載光盤位置,配置光盤源 cd bak cp CentOS-Media.repo ../ vim CentOS-Media.repo #修改文件第16行,修改為光盤掛載點(diǎn)/dvd/即可。修改第20行,開啟源使用 14 [c7-media] 15 name=CentOS-$releasever - Media 16 baseurl=file:///dvd/ 17 file:///media/cdrom/ 18 file:///media/cdrecorder/ 19 gpgcheck=1 20 enabled=1 21 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 22

    ? 【配置結(jié)束】

    (三)軟件安裝

    ①確認(rèn)是否安裝
    rpm -qa|grep openssh

    查詢結(jié)果

    # 服務(wù)端和客戶端的公共組件 openssh-7.4p1-16.el7.x86_64 # 客戶端安裝包 openssh-clients-7.4p1-16.el7.x86_64 # 服務(wù)端安裝包 openssh-server-7.4p1-16.el7.x86_64
    ②查看openssh-server軟件包的文件列表
    rpm -ql openssh-server

    查詢結(jié)果

    # 配置文件 /etc/ssh/sshd_config /etc/sysconfig/sshd # 服務(wù)管理腳本 /usr/lib/systemd/system/sshd.service => systemctl start sshd # 文件共享服務(wù) 提供文件上傳下載的服務(wù) /usr/libexec/openssh/sftp-server # 二進(jìn)制文件程序文件 /usr/sbin/sshd # 公鑰生成工具 /usr/sbin/sshd-keygen # man手冊(cè) /usr/share/man/man5/sshd_config.5.gz /usr/share/man/man8/sftp-server.8.gz /usr/share/man/man8/sshd.8.gz
    ③查看openssh-clients軟件包的文件列表
    rpm -ql openssh-clients

    查詢結(jié)果

    # 客戶端配置文件 /etc/ssh/ssh_config # 遠(yuǎn)程copy命令 服務(wù)器間進(jìn)行文件傳輸 /usr/bin/scp # sftp客戶端 上傳下載文件操作 /usr/bin/sftp /usr/bin/slogin /usr/bin/ssh /usr/bin/ssh-add /usr/bin/ssh-agent /usr/bin/ssh-copy-id /usr/bin/ssh-keyscan # 客戶端man手冊(cè) /usr/share/man/man1/scp.1.gz /usr/share/man/man1/sftp.1.gz /usr/share/man/man1/slogin.1.gz /usr/share/man/man1/ssh-add.1.gz /usr/share/man/man1/ssh-agent.1.gz /usr/share/man/man1/ssh-copy-id.1.gz /usr/share/man/man1/ssh-keyscan.1.gz /usr/share/man/man1/ssh.1.gz /usr/share/man/man5/ssh_config.5.gz /usr/share/man/man8/ssh-pkcs11-helper.8.gz

    (四)查看了解并修改配置文件

    # man 5 sshd_config

    需求:禁止root用戶遠(yuǎn)程登錄

    vim /etc/ssh/sshd_config # 打開文件第38行 修改以下內(nèi)容 #PermitRootLogin yes PermitRootLogin no

    (五)服務(wù)管理

    # 重啟服務(wù) systemctl restart sshd# 查看狀態(tài) systemctl status sshd # 進(jìn)程查看方式 ps aux |grep sshd # 端口查看方式 netstat -lntp|grep sshd# 開啟自啟動(dòng) systemctl enable sshd

    7、任務(wù)解決方案

    • 環(huán)境準(zhǔn)備
    IP地址主機(jī)名稱服務(wù)器角色
    192.168.19.100jumpserver跳板機(jī)
    192.168.19.101realserver真實(shí)業(yè)務(wù)服務(wù)器

    1、創(chuàng)建用戶并授權(quán)

    公司的開發(fā)測(cè)試服務(wù)器,有多個(gè)團(tuán)隊(duì)使用:

    ①html 前端組 jerry tom
    ②server 后端組 xiaoming xiaoqiang
    ③app 手機(jī)軟件組 rose xiaohong

    注意:在跳板機(jī)完成用戶創(chuàng)建及其授權(quán)

    (一)用戶和用戶組創(chuàng)建

    ①添加用戶組
    groupadd html
    ②添加用戶到用戶組中
    useradd jerry -g html useradd tom -g html

    (二)使用非交互式設(shè)置密碼

    echo 123456|passwd --stdin jerry echo 123456|passwd --stdin tom

    (三)為開發(fā)人員創(chuàng)建數(shù)據(jù)目錄并且設(shè)置相應(yīng)的權(quán)限

    mkdir -p /code/html # 查看默認(rèn)權(quán)限 cd / ll -d /code/html # 查詢結(jié)果 drwxr-xr-x. 2 root root 6 3月 21 23:16 /code/html# 修改所屬組 chgrp html /code/html # 增加組 寫權(quán)限 chmod g+w /code/html # 查看默認(rèn)權(quán)限 ll -d /code/html # 查詢結(jié)果 drwxrwxr-x. 2 root html 6 3月 21 23:16 /code/html# 設(shè)置粘滯位 其它用戶不允許刪除不屬于它的目錄和文件 chmod 1700 /code/html # 查看默認(rèn)權(quán)限 ll -d /code/html # 查詢結(jié)果 drwxrwx--T. 2 root html 6 3月 21 23:16 /code/html

    (四)測(cè)試環(huán)境用戶環(huán)境和權(quán)限

    測(cè)試用戶權(quán)限是否設(shè)置成功,可以結(jié)合第(三)步一起完成

    2、禁止root遠(yuǎn)程登錄

    注意:在生產(chǎn)服務(wù)器server端完成

    參見上面sshd的配置文件的操作

    3、更改默認(rèn)端口

    需求:防止掃IP使用默認(rèn)端口暴力破解(一次一次試)。故將默認(rèn)端口更改為:3721

    (一)確定當(dāng)前服務(wù)器端口沒有被占用

    netstat -lntp|grep 3721 # 或者 ss -nalp|grep 3721 # 或者 lsof -i :3721

    (二)修改配置文件

    vim /etc/ssh/sshd_config # 找到文件第13行添加以下內(nèi)容 # Port 22 Port 3721

    (三)重啟服務(wù)

    systemctl restart sshd # 或者 systemctl reload sshd

    (四)測(cè)試驗(yàn)證

    ssh @192.168.19.100 ssh: connect to host 192.168.19.100 port 22: Connection refused #原因:端口號(hào)不對(duì) #解決:指定端口 -p參數(shù) ssh -p 3721 jerry@192.168.19.100

    Tip:
    更改客戶端配置文件,不想驗(yàn)證指紋

    vim /etc/ssh/ssh_config #StrictHostKeyChecking ask StrictHostKeyChecking no

    4、用戶密碼隨機(jī)

    注意:在線上生產(chǎn)環(huán)境中創(chuàng)建一個(gè)開發(fā)人員專用的賬號(hào)

    思路:

    1、在線上生成環(huán)境,創(chuàng)建公共賬號(hào)(開發(fā)人員)

    2、安裝隨機(jī)密碼生成工具pwgen

    3、使用pwgen工具生成隨機(jī)密碼

    4、給賬號(hào)設(shè)置密碼

    (一)創(chuàng)建用戶

    useradd code

    (二)安裝pwgen

    pwgen軟件需要配置epel源安裝

    ①配置epel源
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    ②安裝pwgen
    yum install -y pwgen

    (三) 生成隨機(jī)密碼

    pwgen

    (四)設(shè)置用戶密碼

    echo 上面生成的密碼選一個(gè) |passwd --stdin code

    擴(kuò)展

    1、ssh客戶端工具

    • 查看參數(shù)和幫助方法

    ssh --help

    man ssh

    • 常見參數(shù)
    # 指定連接用戶 -l # ssh 192.168.19.101 -l jerry 相當(dāng)于 ssh jerry@192.168.19.101# 指定連接端口 -p # 默認(rèn)以當(dāng)前機(jī)器用戶身份登錄,或者連接時(shí)指定用戶身份

    2、scp客戶端工具

    • 命令解釋:

    cp 本地文件的復(fù)制

    scp 遠(yuǎn)程文件的復(fù)制

    • 業(yè)務(wù)需求:

    ①在服務(wù)器A上將本地文件復(fù)制到遠(yuǎn)程服務(wù)器B

    ②在服務(wù)器A上將遠(yuǎn)程服務(wù)器B的文件復(fù)制到本地

    這里以服務(wù)器A為操作服務(wù)器

    • 解決方案

    使用scp工具 注意這只是其中之一解決方案

    • 使用方法
    # scp 本地路徑 遠(yuǎn)程路徑 scp jerry.html jerry@192.168.19.100:/home/jerry/ # scp 遠(yuǎn)程路徑 本地路徑 scp jerry@192.168.19.100:/home/jerry/tom.html ./
    • 參數(shù)說明
    # 遞歸拷貝目錄 -r # 指定遠(yuǎn)程服務(wù)器的端口 -P

    3、pwgen常見參數(shù)使用

    • 命令的使用
    pwgen --help # 用法: pwgen 選項(xiàng)參數(shù) 長(zhǎng)度 生成個(gè)數(shù) Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]# 密碼中至少包含一個(gè)大寫字母 -c or –capitalize# 密碼中不包含大寫字母 -A or –no-capitalize# 密碼中至少包含一個(gè)數(shù)字 -n or –numerals# 密碼中不包含數(shù)字 -0 or –no-numerals# 密碼中至少包含一個(gè)特殊符號(hào) -y or –symbols# 生成完全隨機(jī)密碼 -s or –secure# 密碼中不包含歧義字符(例如1,l,O,0) -B or –ambiguous# 使用SHA1 hash給定的文件作為一個(gè)隨機(jī)種子 -H or –sha1=path/to/file[#seed]# 在列中打印生成的密碼 -C# 不要在列中打印生成的密碼,即一行一個(gè)密碼 -1# 不要使用任何元音,以避免偶然的臟話 -v or –no-vowels
    • Eg.1:生成長(zhǎng)度為10,包含大寫、數(shù)字、不包含模糊字符完全隨機(jī)的3個(gè)密碼
    pwgen -cnBs1 10 3

    4、踢出用戶

    # 查看當(dāng)前在線用戶 w# 斷開ssh客戶端連接 # pkill -kill -t pts/1

    5、VMware中的三種網(wǎng)絡(luò)


    由上圖可知:在VMware中,一共存在3種網(wǎng)絡(luò)模式。

    選擇網(wǎng)絡(luò)連接屬性意義
    Use bridged networking(使用橋接網(wǎng)絡(luò))使用(連接)VMnet0虛擬交換機(jī),此時(shí)虛擬機(jī)相當(dāng)于網(wǎng)絡(luò)上的一臺(tái)獨(dú)立計(jì)算機(jī),與主機(jī)一樣,擁有一個(gè)獨(dú)立的IP地址
    Use network address translation(NAT)(使用NAT網(wǎng)絡(luò))使用(連接)VMnet8虛擬交換機(jī),此時(shí)虛擬機(jī)可以通過主機(jī)單向訪問網(wǎng)絡(luò)上的其他工作站(包括Internet網(wǎng)絡(luò)),其他工作站不能訪問虛擬機(jī)
    Use Host-Only networking(僅主機(jī)網(wǎng)絡(luò))使用(連接)VMnet1虛擬交換機(jī),此時(shí)虛擬機(jī)只能與虛擬機(jī)、主機(jī)互連,與網(wǎng)絡(luò)上的其他工作站不能訪問

    VMnet0 橋接模式 : 和物理真機(jī)連接在同一交換機(jī),相當(dāng)于系統(tǒng)與Windows處于同一個(gè)網(wǎng)段

    ① 與物理真機(jī)同網(wǎng)段,如192.168.43.X

    ② 橋接模式可以連接外網(wǎng)(有網(wǎng)絡(luò))

    橋接模式中,Linux系統(tǒng)就相當(dāng)于一臺(tái)獨(dú)立的計(jì)算機(jī),與Windows物理真機(jī)處于同一個(gè)網(wǎng)絡(luò)環(huán)境中。

    VMnet1 僅主機(jī)模式:封閉的網(wǎng)絡(luò)環(huán)境,僅能與Windows物理真機(jī)進(jìn)行連接。無法連接外網(wǎng)

    ① 與物理真機(jī)不在同一個(gè)網(wǎng)段,擁有獨(dú)立的IP網(wǎng)段

    ② 僅主機(jī)模式僅能用于內(nèi)部連通(VMware=>JumpServer、RealServer)

    ③ 僅主機(jī)模式無法連接外網(wǎng)

    VMnet8 NAT模式:相當(dāng)于一個(gè)獨(dú)立的網(wǎng)絡(luò)環(huán)境,與物理真機(jī)不處于同一個(gè)網(wǎng)段。但是其可以通過虛擬網(wǎng)絡(luò)路由器(NAT地址轉(zhuǎn)化)連接外網(wǎng)。

    ① 與物理真機(jī)不在同一個(gè)網(wǎng)段,擁有獨(dú)立的IP網(wǎng)段

    ② 不僅可以進(jìn)行內(nèi)部連接(VMware=> CentOS6、CentOS7)

    ③ 擁有一個(gè)虛擬的路由器(NAT設(shè)備)可以讓我們虛擬機(jī)連接到外網(wǎng)環(huán)境

    4、靜態(tài)IP配置

    JumpServer網(wǎng)卡配置

    給JumpServer配置兩張網(wǎng)卡(NAT模式 + 僅主機(jī)模式)

    添加僅主機(jī)模式網(wǎng)卡:

    重啟network網(wǎng)絡(luò),然后使用ifconfig獲取僅主機(jī)模式的網(wǎng)卡信息。

    # systemctl restart network # ifconfig

    由上圖可知,僅主機(jī)模式的網(wǎng)卡為ens37,NAT模式網(wǎng)卡為ens33。遇到一個(gè)問題,ens37這張網(wǎng)卡沒有配置文件:

    # cd /etc/sysconfig/network-scripts/ # ls

    添加ens37配置文件:

    # cp ifcfg-ens33 ifcfg-ens37 # vim ifcfg-ens37 TYPE="Ethernet" BOOTPROTO="none" IPADDR=11.1.1.10 NETMASK=255.255.255.0 NAME="ens37" DEVICE="ens37" ONBOOT="yes"

    重啟計(jì)算機(jī)網(wǎng)絡(luò):

    # systemctl restart network

    關(guān)閉NetworkManager

    Linux圖形化界面中的網(wǎng)絡(luò)管理器,有些時(shí)候我們?cè)O(shè)置了靜態(tài)IP。但是重啟網(wǎng)絡(luò)后,其并沒有生效或者和你設(shè)置的IP地址不一致,很可能是由于NetworkManager工具的影響。

    # systemctl stop NetworkManager # systemctl disable NetworkManager

    RealServer網(wǎng)卡配置

    把NAT模式的網(wǎng)卡更改為僅主機(jī)模式,然后設(shè)置一個(gè)靜態(tài)IP地址。

    由于現(xiàn)在只有一張網(wǎng)卡,所以僅主機(jī)模式對(duì)應(yīng)的網(wǎng)卡為ens33,配置:

    # vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE="Ethernet" BOOTPROTO="none" IPADDR=11.1.1.100 NETMASK=255.255.255.0 NAME="ens33" DEVICE="ens33" ONBOOT="yes"

    設(shè)置完成后,重啟計(jì)算機(jī)網(wǎng)絡(luò)

    # systemctl stop NetworkManager # systemctl disable NetworkManager# systemctl restart network

    6、openssh軟件的安裝

    SSH服務(wù)底層的軟件名稱叫做openssh,open開源,ssh就是ssh服務(wù)。openssh屬于C/S架構(gòu)軟件,其擁有客戶端與服務(wù)器端。

    客戶端:ssh

    服務(wù)端:openssh-server

    安裝步驟:

    # yum install openssh -y

    檢查openssh是否安裝成功

    # rpm -qa |grep openssh# yum list installed |grep openssh

    獲取openssh生成的文件列表

    # rpm -ql openssh-server# 配置文件 /etc/ssh/sshd_config => ssh服務(wù)的主配置文件 /etc/sysconfig/sshd # 服務(wù)管理腳本 /usr/lib/systemd/system/sshd.service => systemctl start sshd # 文件共享服務(wù) 提供文件上傳下載的服務(wù) /usr/libexec/openssh/sftp-server # 二進(jìn)制文件程序文件 /usr/sbin/sshd # 公鑰生成工具 /usr/sbin/sshd-keygen # man手冊(cè) /usr/share/man/man5/sshd_config.5.gz /usr/share/man/man8/sftp-server.8.gz /usr/share/man/man8/sshd.8.gz # rpm -ql openssh-clients# 客戶端配置文件 /etc/ssh/ssh_config # 遠(yuǎn)程copy命令 服務(wù)器間進(jìn)行文件傳輸 /usr/bin/scp # sftp客戶端 上傳下載文件操作 /usr/bin/sftp /usr/bin/slogin /usr/bin/ssh /usr/bin/ssh-add /usr/bin/ssh-agent /usr/bin/ssh-copy-id /usr/bin/ssh-keyscan # 客戶端man手冊(cè) /usr/share/man/man1/scp.1.gz /usr/share/man/man1/sftp.1.gz /usr/share/man/man1/slogin.1.gz /usr/share/man/man1/ssh-add.1.gz /usr/share/man/man1/ssh-agent.1.gz /usr/share/man/man1/ssh-copy-id.1.gz /usr/share/man/man1/ssh-keyscan.1.gz /usr/share/man/man1/ssh.1.gz /usr/share/man/man5/ssh_config.5.gz /usr/share/man/man8/ssh-pkcs11-helper.8.gz

    查看并修改ssh服務(wù)端的配置文件

    # man 5 sshd_config

    RealServer:禁止root賬號(hào)遠(yuǎn)程登錄

    # man 5 sshd_config PermitRootLogin => yes or no,默認(rèn)為yes 代表允許通過root賬號(hào)遠(yuǎn)程登錄此服務(wù)器 # vim /etc/ssh/sshd_config 38行 PermitRootLogin no

    sshd服務(wù)管理

    # systemctl restart sshd => 重啟 # systemctl status sshd => 狀態(tài) # systemctl stop sshd => 停止 # systemctl start sshd => 啟動(dòng)# systemctl enable sshd => 開機(jī)自啟動(dòng) # systemctl disable sshd => 開機(jī)不自啟# ps -ef |grep sshd => 進(jìn)程# netstat -tnlp |grep sshd => 端口# ss -naltp |grep sshd # 經(jīng)驗(yàn)值SSH服務(wù)作為目前Linux遠(yuǎn)程連接服務(wù)。采用SSL加密方式,啟到了不錯(cuò)的安全作用。學(xué)習(xí)好SSH服務(wù),是之后連接管理遠(yuǎn)程服務(wù)的基本操作。老師之前管理公司機(jī)房的服務(wù)器的時(shí)候,安裝完系統(tǒng),第一件事情就是開啟ssh服務(wù)。還會(huì)做以下操作:① 修改默認(rèn)端口 可以避免一些自動(dòng)腳本測(cè)試連接② 免密登錄 方便直接連接,避免泄露密碼。只需添加需要操作人的公鑰即可

    總結(jié)

    以上是生活随笔為你收集整理的运维基本功(十六):远程管理SSH服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。