掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
隨著計(jì)算機(jī)網(wǎng)絡(luò)的不斷發(fā)展,數(shù)據(jù)傳輸?shù)陌踩珕?wèn)題也變得越來(lái)越重要。在Linux系統(tǒng)中,使用SSH隧道進(jìn)行端口轉(zhuǎn)發(fā)是一種高效而且安全的方法。SSH隧道的實(shí)現(xiàn)方式是使用SSH協(xié)議中的加密功能來(lái)對(duì)數(shù)據(jù)進(jìn)行加密,保證數(shù)據(jù)的安全性。同時(shí),利用SSH隧道進(jìn)行端口轉(zhuǎn)發(fā)也可以規(guī)避一些網(wǎng)絡(luò)限制和安全控制,提高數(shù)據(jù)傳輸?shù)男屎涂煽啃浴1疚膶囊韵聨讉€(gè)方面介紹在。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了龍安免費(fèi)建站歡迎大家使用!
一、SSH隧道的基本原理
SSH隧道有兩種類型:本地端口轉(zhuǎn)發(fā)和遠(yuǎn)程端口轉(zhuǎn)發(fā)。其中,本地端口轉(zhuǎn)發(fā)是將本地的端口轉(zhuǎn)發(fā)到遠(yuǎn)程主機(jī)的某個(gè)端口,遠(yuǎn)程端口轉(zhuǎn)發(fā)則是將遠(yuǎn)程主機(jī)的端口轉(zhuǎn)發(fā)到本地主機(jī)的某個(gè)端口。在SSH隧道中,需要使用SSH客戶端和SSH服務(wù)器進(jìn)行通信,通過(guò)SSH服務(wù)器進(jìn)行數(shù)據(jù)傳輸。SSH客戶端將數(shù)據(jù)發(fā)送到SSH服務(wù)器,SSH服務(wù)器將數(shù)據(jù)轉(zhuǎn)發(fā)給指定的主機(jī)。在這個(gè)過(guò)程中,數(shù)據(jù)進(jìn)行了加密處理,保證了數(shù)據(jù)的安全性。
二、利用SSH隧道進(jìn)行本地端口轉(zhuǎn)發(fā)
在Linux系統(tǒng)中,可以使用SSH客戶端來(lái)進(jìn)行本地端口轉(zhuǎn)發(fā)。本地端口轉(zhuǎn)發(fā)是將本地的一個(gè)端口轉(zhuǎn)發(fā)到遠(yuǎn)程主機(jī)上的某個(gè)端口。這種方式經(jīng)常用于將本地主機(jī)上的Web服務(wù)器映射到公共網(wǎng)絡(luò)上。具體的步驟如下:
1. 在本地主機(jī)上安裝SSH客戶端。
2. 在本地主機(jī)上打開(kāi)終端窗口,輸入以下命令:
ssh -L 8080:localhost:80 user@remote
其中,8080是本地主機(jī)上的端口,localhost是本地主機(jī)的地址,80是遠(yuǎn)程主機(jī)上的端口,user為遠(yuǎn)程主機(jī)的用戶名,remote為遠(yuǎn)程主機(jī)的地址。這個(gè)命令表示將本地主機(jī)上的8080端口轉(zhuǎn)發(fā)到遠(yuǎn)程主機(jī)上的80端口。
3. 在瀏覽器中輸入http://localhost:8080即可訪問(wèn)遠(yuǎn)程主機(jī)上的Web服務(wù)器。
三、利用SSH隧道進(jìn)行遠(yuǎn)程端口轉(zhuǎn)發(fā)
在Linux系統(tǒng)中,可以使用SSH客戶端來(lái)進(jìn)行遠(yuǎn)程端口轉(zhuǎn)發(fā)。遠(yuǎn)程端口轉(zhuǎn)發(fā)是將遠(yuǎn)程主機(jī)上的一個(gè)端口轉(zhuǎn)發(fā)到本地主機(jī)上的某個(gè)端口。這種方式經(jīng)常用于進(jìn)入內(nèi)網(wǎng)中的主機(jī)。具體的步驟如下:
1. 在本地主機(jī)上安裝SSH客戶端和SSH服務(wù)器。
2. 在本地主機(jī)上通過(guò)SSH客戶端連接到遠(yuǎn)程主機(jī)。
ssh username@remote
其中,username為遠(yuǎn)程主機(jī)的用戶名,remote為遠(yuǎn)程主機(jī)的地址。
3. 在遠(yuǎn)程主機(jī)上打開(kāi)終端窗口,輸入以下命令:
ssh -R 8080:localhost:80 user@localhost
其中,8080是遠(yuǎn)程主機(jī)上的端口,localhost是遠(yuǎn)程主機(jī)的地址,80是本地主機(jī)上的端口,user為本地主機(jī)的用戶名,localhost為本地主機(jī)的地址。這個(gè)命令表示將遠(yuǎn)程主機(jī)上的8080端口轉(zhuǎn)發(fā)到本地主機(jī)上的80端口。
4. 在瀏覽器中輸入http://remote:8080即可訪問(wèn)本地主機(jī)上的Web服務(wù)器。
利用SSH隧道進(jìn)行端口轉(zhuǎn)發(fā)是一種高效而且安全的方式。在Linux系統(tǒng)中,使用SSH客戶端可以輕松實(shí)現(xiàn)本地端口轉(zhuǎn)發(fā)和遠(yuǎn)程端口轉(zhuǎn)發(fā),保證數(shù)據(jù)的安全性和可靠性。只有通過(guò)不斷學(xué)習(xí)和實(shí)踐,才能掌握這種技術(shù),更好地發(fā)揮它的作用。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220推薦SecureCRT軟件使用SSH方式遠(yuǎn)悔鄭程連接linux主機(jī),安全,快速,方便。
希檔御望我的回答對(duì)你碧蠢頌有幫助。
在我們?nèi)粘9芾砼c維護(hù)服務(wù)器個(gè)過(guò)程中,我們都需要使用遠(yuǎn)程連接工具,今天我們就一同來(lái)總結(jié)下Linux常用的安全遠(yuǎn)程連接工具-OpenSSH。
【遠(yuǎn)程登錄協(xié)議】
1、telnet:是TCP/IP協(xié)議族中的一員,是Internet遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式。它為用戶提供了在本地計(jì)算機(jī)上完成遠(yuǎn)程主
機(jī)工作的能力。默認(rèn)使用的是TCP的23號(hào)端口,采用C/S架構(gòu),在用戶登錄的過(guò)程中傳輸?shù)男畔⒍际敲魑男畔ⅲ踩珶o(wú)法保障,所以不建議用telnet。
2、ssh:為Secure Shell 的縮寫,由IETF的網(wǎng)絡(luò)工作小組所制定;SSH
為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。SSH是目前較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用 SSH
協(xié)議可以有效防止遠(yuǎn)程管理過(guò)程中的信息泄露問(wèn)題。默認(rèn)使用的是TCP的22號(hào)端口,也是基于C/S架構(gòu),SSH有兩個(gè)版本v1與v2。
sshv1:基于CRC-32做MAC(消息摘要認(rèn)證),不安全,強(qiáng)烈建議不使用;
sshv2:基于雙方主機(jī)的協(xié)商選擇使用最安全的MAC方式 ,其有如下特點(diǎn):1、加密機(jī)制及MAC機(jī)制由雙方協(xié)商選定;2、基于DH實(shí)現(xiàn)密鑰交換,基于RSA或DSA實(shí)現(xiàn)逗侍身份認(rèn)證;3、客戶端通過(guò)檢查服務(wù)器端的主機(jī)密鑰來(lái)判斷是否能夠繼續(xù)通信;
【OpenSSH簡(jiǎn)述】
OpenSSH 是一組用于安全地訪問(wèn)遠(yuǎn)程計(jì)算機(jī)的連接工具。它可以作為rlogin、rsh
rcp以及telnet的直接替代品使用。更進(jìn)一步,其他任何TCP/IP連接都可以通過(guò)SSH安全地進(jìn)行隧道/轉(zhuǎn)發(fā)。OpenSSH
對(duì)所有的傳輸進(jìn)行加密,從而有效地阻止了竊聽(tīng)、連接劫持,以及其他網(wǎng)絡(luò)級(jí)的攻擊。OpenSSH 由 OpenBSD project 維護(hù)。
登錄過(guò)程和使用rlogin或telnet建立的會(huì)話非常類似。在連接時(shí),SSH
會(huì)利用一個(gè)密鑰指紋系并手統(tǒng)來(lái)驗(yàn)證服務(wù)器的真實(shí)性。只有在之一次連接時(shí),用戶會(huì)被要求輸入yes進(jìn)行確認(rèn),之后的連接將會(huì)驗(yàn)證預(yù)先保存下來(lái)的密鑰指紋。如果保
存的指紋與登錄時(shí)接收到的不符, 則將會(huì)給出警告。 指紋保存在 ~/.ssh/known_hosts中,對(duì)于SSHv2指紋,則是
~/.ssh/known_hosts2。
默認(rèn)情況下,較新版本的OpenSSH只接受SSHv2連接。如果能用版本2則客戶程序會(huì)自動(dòng)使用,否則它會(huì)返回使用版本1的模式。此外,也可以通
過(guò)命令行參數(shù)-1或-2來(lái)相應(yīng)地強(qiáng)制使用版本1或2。 保持客戶端的版本1能力是為了考慮較早版本的兼容性,建議盡量使用版本2。
【SSH服務(wù)器和客戶端工作流程絕指嫌】
OpenSSH使用C/S架構(gòu):
服務(wù)端工具(S):sshd
客戶端工具(C):ssh命令、putty、xshell、securecrt、sshshellclient;
【OpenSSH客戶端組件-ssh】
配置文本:/etc/ssh/ssh_config
使用方法:
ssh host 或 ssh -l username host
p PORT:指定遠(yuǎn)程服務(wù)器端口;
l username:指定登錄遠(yuǎn)程主機(jī)的用戶,不指定則使用當(dāng)前用戶;
username@:等同于 -l username;
如果設(shè)置了COMMAND,表示使用username賬戶登錄遠(yuǎn)程主機(jī)執(zhí)行一次指定的命令并返回結(jié)果,不會(huì)停留在遠(yuǎn)程主機(jī)上;
# ssh 192.168.0.110 #使用root用戶登錄;
The authenticity of host ‘192.168.0.110 (192.168.0.110)’ can’t be established.
RSA key fingerprint is 01:2e:43:cc:bc:1d:f1:e5:f0:f4:89:78:74:a9:49:44.
Are you sure you want to continue connecting (yes/no)? yes #之一次連接,需手動(dòng)進(jìn)行確認(rèn);
Warning: Permanently added ‘192.168.0.110’ (RSA) to the list of known hosts.
‘s password: #輸入遠(yuǎn)程主機(jī)root賬戶的密碼;
Last login: Mon May 11 16:44:from 192.168.0.104
# #登錄成功了,遠(yuǎn)程主機(jī)名為mailCentOS6;
# ls #顯示遠(yuǎn)程主機(jī)root家目錄下的文件;
2.shboot.iso install.logsdb.mbr test1
anaconda-ks.cfg crontab install.log.syslog \temp\test
# exit #退出登錄;
logout
Connection to 192.168.0.110 closed.
# ssh ls #使用root登錄遠(yuǎn)程主機(jī),執(zhí)行一次ls命令,返回結(jié)果便退出;
‘s password: #第二次連接,就不需要輸入yes了,直接輸入密碼即可;
2.sh
anaconda-ks.cfg
boot.iso
crontab
install.log
install.log.syslog
sdb.mbr
\temp\test
test1
# #看到了嗎,我們當(dāng)前并沒(méi)有登錄在遠(yuǎn)程主機(jī);
【OpenSSH服務(wù)器端組件-sshd】
配置文件:/etc/ssh/sshd_config(通過(guò)修改此文件可以修改ssh的默認(rèn)監(jiān)聽(tīng)端口與其他參數(shù))
服務(wù)腳本:/etc/rc.d/init.d/sshd
服務(wù)啟動(dòng)|停止|重啟:serveice sshd start|stop|restart
腳本配置文件:/etc/sysconfig/sshd
配置參數(shù)
# man sshd_config 查看配置參數(shù)的說(shuō)明;
# vim /etc/sysconfig/sshd 通過(guò)編輯配置文件來(lái)修改配置參數(shù);
#+空格+文字:以此格式開(kāi)頭的行表示改行為注釋說(shuō)明;
#+文字:以此格式開(kāi)頭的行表示可啟用選項(xiàng),不改變則表示使用該選項(xiàng)的默認(rèn)設(shè)置,反之使用設(shè)定值“#”要去掉哦!
例:#Port 22 如不去掉#且22不變,表示使用默認(rèn)的22號(hào)端口;
若把#Port 22改成port 7777,表示把sshd的監(jiān)聽(tīng)端口改成7777;
注意:修改參數(shù)與配置后,必須重啟服務(wù)(service sshd restart).
經(jīng)常需要修改的參數(shù):
# cat /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1./07/02 02:24:18 djm Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.
#Port 22 #修改默認(rèn)監(jiān)聽(tīng)的端口;
port 7777 #把sshd的監(jiān)聽(tīng)端口改成7777;
#AddressFamily any #監(jiān)聽(tīng)的地址家族,指定是監(jiān)聽(tīng)在IPV4上還是IPV6上,any表示所有;
#ListenAddress 0.0.0.0 #指定監(jiān)聽(tīng)的地址 (0.0.0.0表示本機(jī)的所有地址);
#ListenAddress ::
# Disable legacy (protocol version 1) support in the server for new
# installations. In future the default will change to require explicit
# activation of protocol 1
Protocol 2
# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key #使用shhv1用到的主機(jī)密鑰;
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024 #密鑰長(zhǎng)度;
# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m #登錄寬限期;
#PermitRootLogin yes #是否允許管理員直接登錄;
#StrictModes yes
#MaxAuthTries 6 #更大密碼輸入錯(cuò)誤次數(shù);
#MaxSessions 10 #更大會(huì)話個(gè)數(shù);
#RSAAuthentication yes #是否允許使用RSA機(jī)制來(lái)認(rèn)證;
#PubkeyAuthentication yes
#中間不長(zhǎng)改變的配置參數(shù)略
Subsystem sftp /usr/libexec/openssh/sftp-server #表示是否啟動(dòng)sftp功能;
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server
sshd認(rèn)證方式:
、基于口令的認(rèn)證;
、基于密鑰的認(rèn)證;
# ssh-keygen -t rsa 用rsa算法生成密鑰,默認(rèn)密鑰為id_rsa(私鑰), id_rsa.pub(公鑰)
# ssh-keygen -f /path/to/somefile -P oldpassword 根據(jù)現(xiàn)有的密鑰文件生成密鑰
f /path/to/somefile: 密鑰文件保存在的位置;
P ”: 指定生成舊密鑰時(shí)使用的密碼;
方法一:把本地主機(jī)生成的公鑰 id_rsa.pub使用scp復(fù)制到遠(yuǎn)程主機(jī)的上,在遠(yuǎn)程主機(jī)使用cat id_rsa.pub>>.ssh/authorized_keys追加該公鑰信息,這樣就可以實(shí)現(xiàn)基于密鑰認(rèn)證的ssh登錄;
方法二:# ssh-copy-id -i .ssh/id_rsa.pub USERNAME@HOST
# ssh-keygen -t rsa #用rsa算法生成密鑰;
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #指定密鑰存放路徑及名稱,一般不用
#修改,直接回車;
Enter passphrase (empty for no passphrase): #輸入私鑰密碼;
Enter same passphrase again: #確認(rèn)輸入私鑰密碼;
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
c2:f9:c2:3d:4d:ca:52:39:7a:a7:33:de:42:11:d3:8f root@
www.99.com
The key’s randomart image is:
+——+
|.|
|o . |
|o o |
| . …E . |
| + S.. |
| . B.=|
| =.B o |
|++=|
|.o+. |
+—+
# ssh-keygen -f .ssh/id_rsa -P ” #根據(jù)現(xiàn)有密鑰文件重新生成密鑰;
Generating public/private rsa key pair.
.ssh/id_rsa already exists.
Overwrite (y/n)? y #提示是否確定要覆蓋;
Your identification has been saved in .ssh/id_rsa.
Your public key has been saved in .ssh/id_rsa.pub.
The key fingerprint is:
bf:55:f0:0b:a5:ee:4e:4a:1d:d3:b1:0e:66:ee:55:9b root@
www.99.com
The key’s randomart image is:
+——+
| |
| |
|. o |
|* o |
|S O = .|
|. * B oo|
|o * +E |
|. B . |
|o.+ |
+—+
#—–使用方法一:實(shí)現(xiàn)通過(guò)密鑰文件完成身份驗(yàn)證(不需要輸入密碼)—–
# scp .ssh/id_rsa.pub :/root/ #使用spc命令復(fù)制公鑰文件到遠(yuǎn)程
#主機(jī)的用戶家目錄下的.ss/路徑下;
‘s password: #輸入登錄遠(yuǎn)程主機(jī)的密碼;
id_rsa.pub0%.4KB/s 00:00 #提示復(fù)制成功;
# ls .ssh/ #驗(yàn)證確認(rèn)文件復(fù)制成功;
id_rsa.pub known_hosts
# touch .ssh/authorized_keys #路徑內(nèi)沒(méi)有自動(dòng)驗(yàn)證密鑰文件,創(chuàng)建一個(gè);
# cat .ssh/id_rsa.pub >> .ssh/authorized_keys #把公鑰追加到自動(dòng)驗(yàn)證密鑰文件;
# ssh 192.168.0.110
Last login: Mon May 11 20:45:from 192.168.0.111
# #OK了,看到了沒(méi)有,不用輸入密碼我們就直接可以遠(yuǎn)程登錄了??!
#—–使用方法二:實(shí)現(xiàn)通過(guò)密鑰文件完成身份驗(yàn)證(不需要輸入密碼)—–
# rm -f .ssh/authorized_keys #刪除原有保存的自動(dòng)驗(yàn)證密鑰文件;
# ssh-copy-id -i .ssh/id_rsa.pub #使用命令自動(dòng)傳輸生成自動(dòng)驗(yàn)證密鑰文件;
‘s password:
Now try logging into the machine, with “ssh ‘”, and check in:
.ssh/authorized_keys #提示生成的文件;
to make sure we haven’t added extra keys that you weren’t expecting.
# ssh 192.168.0.110 #驗(yàn)證看看是否可以登錄;
Last login: Mon May 11 21:02:from 192.168.0.111
# ls .ssh/ #看到了沒(méi)有,我們現(xiàn)在已經(jīng)登錄到了mailCentOS6這臺(tái)主機(jī)上了;
authorized_keys known_hosts
【命令補(bǔ)充】
scp: 利用ssh協(xié)議在主機(jī)之間實(shí)現(xiàn)安全文件傳輸?shù)墓ぞ?/p>
scp SRC1… DEST
分兩種情形:
、源文件在本機(jī),目標(biāo)為遠(yuǎn)程主機(jī)
# scp /path/to/somefile… USERNAME@HOST:/path/to/somewhere
源可以是目錄或文件有多個(gè),目標(biāo)必須是目錄
、源文件在遠(yuǎn)程,本地為目標(biāo)
# scp USERNAME@HOST:/path/to/somewhere /path/to/somewhere
r: 復(fù)制目錄時(shí)使用(實(shí)現(xiàn)遞歸復(fù)制),scp默認(rèn)不能復(fù)制目錄;
p: 保持源文件的元數(shù)據(jù)信息,包括mode和timestamp
q: 靜默模式,復(fù)制過(guò)程不顯示狀態(tài)信息;
p PORT: 指定ssh協(xié)議監(jiān)聽(tīng)的端口(遠(yuǎn)程主機(jī))。
如攜納何使漏慶用Xshell連接linux服務(wù)器,怎么使用Xshell連接Centos系辯搜沒(méi)統(tǒng)
遠(yuǎn)程連接Linux云服務(wù)器-命令行模式
1、遠(yuǎn)程連接工具。目前Linux遠(yuǎn)程連接工具有很多種,您可以選擇順手的工具使用。下面使用的是名為Putty的Linux遠(yuǎn)程連接工具。該畝亂鏈工具是免費(fèi)的,且不需要安裝,在網(wǎng)上方便地下載到。 2、啟動(dòng)Putty.exe程序,進(jìn)入Putty主界面。在Putty “Host Name”輸入IP地址,在Saved Session中輸入希望保存的名字(可以任意),點(diǎn)擊“Save”;以后可以方便調(diào)用而不需要每次輸入IP地址;點(diǎn)擊“Open”進(jìn)行連接。
3、初次運(yùn)行時(shí),會(huì)有下圖中的提示,請(qǐng)選擇“是(Y)”,下次運(yùn)行就不會(huì)再出現(xiàn)該提示信息了。
4、請(qǐng)根據(jù)提示,分別輸入您的Linux云服務(wù)器用戶名和密碼。密碼不會(huì)顯示在屏幕上。陪塌輸入完成后回車即可迅孫。
關(guān)于linux ssh 隧道 轉(zhuǎn)發(fā)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)是成都專業(yè)網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、SEO優(yōu)化、手機(jī)網(wǎng)站、小程序開(kāi)發(fā)、APP開(kāi)發(fā)公司等,多年經(jīng)驗(yàn)沉淀,立志成為成都網(wǎng)站建設(shè)第一品牌!

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流