溫馨提示×

溫馨提示×

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

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

如何配置OpenSSH

發(fā)布時間:2021-09-27 09:45:53 來源:億速云 閱讀:135 作者:iii 欄目:系統(tǒng)運(yùn)維

這篇文章主要講解了“如何配置OpenSSH”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何配置OpenSSH”吧!

一、關(guān)閉并卸載RedHat9.0自帶的Openssh
 
1.1 停止服務(wù)
 

代碼如下:

#service sshd stop


 
1.2 卸載Openssh
 

代碼如下:

#rpm -e openssh --nodeps
#rpm -e openssh-server --nodeps
#rpm -e openssh-clients --nodeps
#rpm -e openssh-askpass-gnome
#rpm -e openssh-askpass


 
二、下載安裝最新的openssl和openssh
 
2.1 下載相關(guān)軟件包至/usr/local/src目錄
 
http://www.openssl.org/source/openssl-0.9.8e.tar.gz

 
2.2 安裝openssl
 

代碼如下:

#cd /usr/local/src
#tar zxvf openssl-0.9.8e.tar.gz
#cd openssl-0.9.8e
#./config shared zlib
#make
#make test
#make install
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl


 
2.3 配置庫文件搜索路徑
 

代碼如下:

#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#ldconfig -v


 
2.4 查看openssl的版本號,以驗(yàn)正是否安裝正確
 

代碼如下:

#openssl version -a
OpenSSL 0.9.8e 11 Apr 2007
built on: Sat Mar 24 21:24:41 CST 2007
platform: linux-elf
options:  bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DSHA1_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM
OPENSSLDIR: "/usr/local/ssl"


 
三、下載安裝最新的openssh
 
3.1 下載相關(guān)軟件包至/usr/local/src目錄
 
ftp://openbsd.nsysu.edu.tw/BSD/OpenBSD/OpenSSH/portable/openssh-4.6p1.tar.gz
 
3.2 安裝
 

代碼如下:

#cd /usr/local/src
#tar zxvf openssh-4.6p1.tar.gz
#cd openssh-4.6p1
#./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man
#make
#make install


 
3.3 查看openssh版本號,驗(yàn)正安裝結(jié)果
 
 

代碼如下:

# ssh  -v
OpenSSH_4.6p1, OpenSSL 0.9.8e 11 Apr 2007
usage: ssh [-1246AaCfgkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]
          [-D [bind_address:]port] [-e escape_char] [-F configfile]
          [-i identity_file] [-L [bind_address:]port:host:hostport]
          [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
          [-R [bind_address:]port:host:hostport] [-S ctl_path]
          [-w local_tun[:remote_tun]] [user@]hostname [command]


 
四、啟動并驗(yàn)正服務(wù)的開啟狀況
 
4.1 調(diào)試啟動,如果以下顯示均正常,就可以正常啟動sshd了。
 
 

代碼如下:

#/usr/sbin/sshd -d
debug1: sshd version OpenSSH_4.6p1
debug1: private host key: #0 type 0 RSA1
debug1: read PEM private key done: type RSA
debug1: private host key: #1 type 1 RSA
debug1: read PEM private key done: type DSA
debug1: private host key: #2 type 2 DSA
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
socket: Address family not supported by protocol
debug1: Bind to port 22 on 0.0.0.0.
Server listening on 0.0.0.0 port 22.
Generating 768 bit RSA key.
RSA key generation complete.


 
4.2 啟動服務(wù)
 
 

代碼如下:

#/usr/sbin/sshd


 
4.3 查看監(jiān)聽端口中是否有22
 
 

代碼如下:

#netstat -tnlp | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      21018/sshd

 
4.4 嘗試從本機(jī)通過ssh登錄
 

代碼如下:


# ssh root@localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is 03:eb:80:fe:07:d9:9d:00:1c:15:37:93:d1:d3:8e:6d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
root@localhost's password:
Last login: Wed Apr 11 11:29:04 2007 from localhost.localdomain


 
五、sshd進(jìn)程及其相關(guān)參數(shù)詳細(xì)說明
 
sshd服務(wù)是OpenSSH的守護(hù)進(jìn)程。此服務(wù)附帶的工具程序可以取代rlogin和rsh,在兩臺會話的主機(jī)間通過非安全的Internet 建立起安全的加密連接。sshd監(jiān)聽來自客戶端的連接請求,并在接收到請求時fork一個子進(jìn)程;此子進(jìn)程將負(fù)責(zé)處理密鑰交換、加密、認(rèn)證、命令執(zhí)行及數(shù) 據(jù)傳輸?shù)?。可以使用命令行選項或者配置文件來配置啟動sshd,但命令行中指定的選項將優(yōu)先于配置文件中的相同選項。
 
-4 強(qiáng)制sshd僅接收來自IPv4格式地址的請求;
 
-6 強(qiáng)制sshd僅接收來自IPv6格式地址的請求;
 
-b 指定ssh v1中服務(wù)器密鑰的長度位數(shù);
 
-D 此選項只是用來監(jiān)視sshd的啟動狀態(tài),在附加此選項時,sshd不會作為一個守護(hù)進(jìn)程啟動;
 
-d 此選項將啟動調(diào)試模式;sshd服務(wù)的啟動狀態(tài)會在前臺顯示,并把詳細(xì)的調(diào)試信息輸出至日志文件;此時, sshd不會fork新的子進(jìn)程,因此僅僅能接受一個連接請求。此先項主要用來調(diào)試sshd;
 
-e 輸出錯誤信息到日志文件,不包括正常的調(diào)試信息;
 
-f 此選項后接指定的配置文件;默認(rèn)為/etc/ssh/sshd_config;
 
-g 此選項后跟一個時間期限,默認(rèn)單位是秒,用來為客戶端認(rèn)證期間提供一個可以等待的期限;如果客戶端在此指定期限內(nèi)認(rèn)證錯誤,sshd將斷開連接并退出;0表示無時間限制;
 
-h 此選項后跟一個主機(jī)密鑰文件,用來指定一個sshd啟動時讀取的主機(jī)密鑰
文件;在以非root身份啟動sshd時必須指定此選項(因?yàn)槟J(rèn) 的key文件只有root具有讀權(quán)限);ssh v1默認(rèn)的key文件為/etc/ssh/ssh_host_key,sshd v2默認(rèn)的key文件為 /etc/ssh/ssh_host_rsa_key以
及/etc/ssh/ssh_host_dsa_key;可以為不同版本的協(xié)議及不同的密鑰算法指定不同的key文件;
 
-i 此選項用來指定通過inetd守護(hù)進(jìn)程啟動sshd;sshd需要生成服務(wù)端密鑰才能接受客戶端的請求,這將需要大約10秒鐘的時間,如果 每個請求都重新生成一次密鑰的話,客戶端將不得不等待較長的時間,因此,默認(rèn)情況下是不使用inet方式啟動sshd的;如果使用較短長度的密鑰,此選項 將是一個頗富彈性的選擇;
 
-k 此選項后跟一個時間期限,用來為ssh v1指定一個重新生成服務(wù)端key的時間間隔(默認(rèn)為一個小時);如此頻繁的生成密鑰的目的在于不 必存儲密鑰,因此,超過了一個小時后恢復(fù)通訊期間加密的數(shù)據(jù)幾乎是不可能的,哪怕機(jī)器被攻入亦或被占據(jù),這將在很大程度上提高了安全性;0表示不重新生成 密鑰;
 
-o 用來為配置文件指定一個新的可用選項;
 
-p 指定sshd服務(wù)監(jiān)聽的端口(默認(rèn)是22),可以同時指定多個端口;如果使用此選項,則會忽略配置文件中指定的端口;
 
-q 安靜模式,此種情況下將不會產(chǎn)生任何系統(tǒng)日志;正常情況下,服務(wù)啟動、認(rèn)證以及每一次終端登錄都會被記錄;
 
-t 測試模式,僅用來檢查配置文件的正確性及密鑰是否健壯;此選項多用在配置文件改動時;
 
六、sshd相關(guān)的文件詳細(xì)說明
 

代碼如下:

~/.hushlogin


 如果配置文件中分別啟用了PrintLastLog和PrintMotd選項,則此文件可以用來在屏幕顯示前一次的登錄時間以及/etc/motd的內(nèi)容。但不會顯示Banner選項指定的banner。
 

代碼如下:

~/.rhosts


    此文件主要用來實(shí)現(xiàn)主機(jī)間的認(rèn)證。如果你的主機(jī)上有些用戶的主目錄位于NFS文件系統(tǒng)上,則必需把這個文件的權(quán)限置為全局可讀,因?yàn)?sshd進(jìn)程將以root的身份讀取此文件。此外,此文件屬主必須為相關(guān)用戶,且其他任何用戶均不能具有寫權(quán)限。一般推薦的權(quán)限為600。
 

代碼如下:

~/.ssh/authorized_keys


    此文件存儲的是用戶的公鑰,當(dāng)其遠(yuǎn)程登錄時可以用此公鑰為其進(jìn)行認(rèn)證。公鑰信息并非要求高度安全性的文件,但仍推薦將其權(quán)限置為700。 如果此文件、~/.ssh目錄或者此用戶的主目錄能被其他用戶讀取,則此文件將可能被其他非授權(quán)用戶修改或置換。此種情況下,除非在主配置文件中把 StrictModes的值置為"no",否則sshd將不允許使用此文件。
 

代碼如下:

~/.ssh/environment


    如果此文件存在,將會在用戶登錄時讀入用戶的環(huán)境。它只能包含空行、以"#"開頭的注釋行以及形如“name=value”賦值行,推薦權(quán)限為600。默認(rèn)情況下此功能是禁止的,可以通過PermitUserEnviroment選項開啟。
 

代碼如下:

~/.ssh/known_hosts


   用戶曾成功登入過的主機(jī)的host key都將存放于此文件,但不包括系統(tǒng)間已經(jīng)互相成功認(rèn)證的主機(jī)host key,只能讓root和屬主具有讀寫權(quán)限。
 

代碼如下:

~/.ssh/rc


    此文件用來在用戶的主目錄不能正常訪問前初始化用戶的登錄環(huán)境,其權(quán)限應(yīng)該為600。
 

代碼如下:

/etc/host.equiv


    用于主機(jī)間的認(rèn)證,只能讓root用戶可寫。
 

代碼如下:

/etc/nologin


    如果這個文件存在,sshd將拒絕除root用戶外的任何其他用戶登錄。在任何用戶在嘗試登錄時,此文件都將被顯示,但所有非root用戶將被拒絕。此文件應(yīng)該是全局可讀的。
 

代碼如下:

/etc/ssh/ssh_known_hosts


    存入系統(tǒng)級別的互相認(rèn)證時已知主機(jī)的host key。這個文件需要管理員手動配置,可以將已知主機(jī)的公鑰存入于此文件。此文件只能為root或?qū)僦髯x寫,但應(yīng)該是全局可讀的。
 

代碼如下:

/etc/ssh/ssh_host_key
/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_rsa_key


    以上三個文件用來存放主機(jī)密鑰的私鑰部分,它們的屬主只能為root用戶,只能被root用戶讀取,不能為其他任何用戶訪問。如果其他用戶可以讀取此文件,則sshd將不能啟動。
 

代碼如下:

/etc/ssh/ssh_host_key.pub
/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_host_rsa_key.pub


    以上三個文件用來存放主機(jī)密鑰的公鑰部分,它們應(yīng)該是全局可讀的,但只有root用戶可寫。它們分別對應(yīng)相應(yīng)的私鑰文件。這些文件并沒有 什么實(shí)際用途,僅僅是用來為用戶認(rèn)證登錄提供便利,因此常被copy至其它可信的主機(jī)中??梢允褂胹sh-keygen來生成這些文件。
 

代碼如下:

/etc/ssh/sshd_config


    sshd的主配置文件;

感謝各位的閱讀,以上就是“如何配置OpenSSH”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何配置OpenSSH這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

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

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

AI