溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ssh服務(wù)如何為web生產(chǎn)服務(wù)器保駕護航

發(fā)布時間:2021-09-27 09:18:51 來源:億速云 閱讀:150 作者:柒染 欄目:大數(shù)據(jù)

這篇文章將為大家詳細(xì)講解有關(guān)ssh服務(wù)如何為web生產(chǎn)服務(wù)器保駕護航,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

場景

我們給自己的博客搭建一個站點,配置lnmp/lamp運行環(huán)境可以跑起來,差不多就完事了。但是當(dāng)我們做的是一個中型或者大型項目,在它需要部署到生產(chǎn)服務(wù)器上線運營時,賬戶安全方面需要做些什么?

ssh

安裝

apt-get install openssh-server

啟動

/etc/init.d/ssh start

使用

ssh  martist@192.168.123.3
//ssh遠(yuǎn)程連接服務(wù)器,需要輸入用戶密碼

應(yīng)用

主機名管理

一個中型甚至大型的的項目,往往需要對多臺服務(wù)器進(jìn)行管理,如生產(chǎn)服務(wù)器,測試服務(wù)器,管理服務(wù)器等等。因此需要對每一臺服務(wù)器的主機名進(jìn)行管理,通過修改各個服務(wù)器的/etc/hostname文件修改本地系統(tǒng)名,重啟可以看到。

密鑰ssh登錄

linux或Mac下生成密鑰的命令是 ssh-keygen -t rsa 默認(rèn)生成路徑在家目錄的.ssh目錄下。id_rsa 文件保存的是本機的私鑰,id_rsa.pub文件保存的是公鑰。
ifconfig命令查看服務(wù)器的IP地址,注意如果你是用的是阿里云ECS,此處查看到的是內(nèi)網(wǎng)IP而非公網(wǎng)IP。
在被登錄的服務(wù)器的家目錄下的.ssh目錄(如果不存在就創(chuàng)建一個)創(chuàng)建一個authorized_keys 文件,并將生成的公鑰文件的內(nèi)容放到里面,就可以在本地使用密鑰登陸這臺服務(wù)器了。

ssh  martist@192.168.123.3
//此時不需要輸入用戶名密碼

如果我們關(guān)閉密碼登陸,轉(zhuǎn)而使用ssh密鑰登錄,更可以確保服務(wù)安全(注意:關(guān)閉密碼登陸前,一定要確保能夠正常使用ssh密鑰登陸)。

關(guān)閉密碼登陸

找到/etc/ssh/sshd_config 修改PasswordAuthentication 屬性 yes。
在第52行,yes改為no,禁用密碼登陸(慎用)。

詳細(xì)實戰(zhàn)分析

線上:阿里云ECS云服務(wù)器 Ubuntu14.04lts

Manager服務(wù)器生成ssh密鑰

ssh-keygen -t rsa  //一路回車

生成的密鑰保存在家目錄下,進(jìn)入.ssh目錄下,

ls//查看文件
id_rsa id_rsa.pub know_hosts

Manager服務(wù)器上在 /etc/hosts 文件里加上重定向的名字,如測試服務(wù)器,DB服務(wù)器和Manager服務(wù)器分別起一個重定向名字便于管理多臺web服務(wù)器。
修改本地定向網(wǎng)絡(luò)ip(阿里云的內(nèi)網(wǎng)ip)的文件

vi /etc/hosts 
//寫入 10.162.48.184 FWEB1
//每次在終端輸入‘FWEB1’,就代表‘10.162.48.184’。

在mannager服務(wù)器上,試一下ssh登錄web1服務(wù)器

ssh root@FWEB1

退出

exit

在mannager服務(wù)器上,試一下文件上傳web1服務(wù)器

scp  ./id_rsa.pub root@FWEB1:/root

現(xiàn)在還是需要輸入密碼,不過等一會把密鑰加到web服務(wù)器上,再從manager登錄web服務(wù)器,就不需要輸入密碼了。

在web1服務(wù)器,家目錄下創(chuàng)建.ssh目錄

ssh root@FWEB1 // 輸入密碼
mkdir ~/.ssh

在web1服務(wù)器,把id_rsa.pub傳遞到.ssh/目錄下

cat id_rsa.pub >> .ssh/id_rsa.pub

此時,再從id_rsa.pub設(shè)置到web服務(wù)器(FWEB1)本地.

文件改名

mv id_rsa.pub authorized_keys

給執(zhí)行權(quán)限

chmod 600 ./authorized_keys

退出ssh遠(yuǎn)程登錄

exit

此時回到manager服務(wù)器

ssh  root@FWEB1
//此時密碼不用輸就可以進(jìn)入FWEB1

隨便上傳個文件,試試

scp know_hosts root@FWEB1:/tmp/

此后,在manager服務(wù)器向web服務(wù)器,scp傳送東西,不需要再輸入密碼了。

原理:manager服務(wù)器私鑰自己留著,把公鑰給所有的web,DB,備份服務(wù)器,就可以便捷管理了。

關(guān)閉web服務(wù)器的密碼登陸

找到/etc/ssh/sshd_config 修改PasswordAuthentication 屬性 yes。在第52行,yes改為no,禁用密碼登陸。
修改sshd_config文件中ssh端口,ssh端口默認(rèn)為 22. 把端口號改為1000以上的數(shù)值。

默認(rèn):Port:22
改為:Port 1678

:wq //退出vi編輯器。

reboot //重啟生效

ssh登錄目的服務(wù)器命令

root@FWEB1

有點麻煩?可以創(chuàng)建自己的別名

vi ~/.bash_profile
//寫入  alias fewb1='ssh root@FWEB1 -p 1678'
//(-p 為端口號)

好,:wq 保存退出。

使他生效

source .bash_profile

查看別名

alias

在manager服務(wù)器下,把某個文件夾下全部文件推送到web服務(wù)器。

scp -p 1678 ./* root@FWEB1:/tmp/ ~~~~
//(需要被傳送文件的web服務(wù)器有這個文件夾)

把服務(wù)器其上的東西上傳上去,是這樣寫, 把web服務(wù)器的東西下載到本地,只要把這倆目錄倒過來,就可以了。

技巧:

cd ~
mkdir sh 
vi pushcode.sh
//在這里寫shell腳本

shell腳本的寫法,開頭‘#!’,后面是 shell可執(zhí)行命令的位置。

#!/bin/sh

scp -p 1678 ./var/www.machuang.name/* root@FWEB1:/var/www/machuang.name

好!:wq 保存推出。

給執(zhí)行權(quán)限

chmod 755 /root/sh/pushcode.sh

Ls查看下

ls /root/sh

此時看到pushcode.sh變成綠色,就對了。以后敲入這段命令,就可以完成上傳代碼的功能了。

/root/sh/pushcode.sh

就可以執(zhí)行腳本內(nèi)的命令了,此時再加一個別名。

cd ~
vi .bash_profile
//寫入  alias pushcode='/root/sh/pushcode.sh'
//:wq 保存退出

好,使它生效,否則要重啟才能生效。

source .bash_profile

上傳代碼:

pushcode

這樣一個具備業(yè)務(wù)邏輯的ssh服務(wù)使用就展現(xiàn)在你面前了,單一的使用一個工具并不顯得立體,多種linux軟件和命令有機結(jié)合在一起才能迸發(fā)出更大的能量。

關(guān)于ssh服務(wù)如何為web生產(chǎn)服務(wù)器保駕護航就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI