ssh 介紹 和使用 程序不掛起

目錄

SSH的安全機制

SSH的安裝

啟動服務器的SSH服務

SSH兩種級別的遠程登錄

SSH的高級應用


Secure?Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在應用層基礎上的安全網絡協議。它是專為遠程登錄會話(甚至可以用Windows遠程登錄Linux服務器進行文件互傳)和其他網絡服務提供安全性的協議,可有效彌補網絡中的漏洞。通過SSH,可以把所有傳輸的數據進行加密,也能夠防止DNS欺騙和IP欺騙。還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。目前已經成為Linux系統的標準配置。

SSH只是一種協議,存在多種實現,既有商業實現,也有開源實現。本文主要介紹OpenSSH免費開源實現在Ubuntu中的應用,如果要在Windows中使用SSH,需要使用另一個軟件PuTTY。

SSH的安全機制

SSH之所以能夠保證安全,原因在于它采用了非對稱加密技術(RSA)加密了所有傳輸的數據。

傳統的網絡服務程序,如FTP、Pop和Telnet其本質上都是不安全的;因為它們在網絡上用明文傳送數據、用戶帳號和用戶口令,很容易受到中間人(man-in-the-middle)攻擊方式的攻擊。就是存在另一個人或者一臺機器冒充真正的服務器接收用戶傳給服務器的數據,然后再冒充用戶把數據傳給真正的服務器。

但并不是說SSH就是絕對安全的,因為它本身提供兩種級別的驗證方法:

第一種級別(基于口令的安全驗證):只要你知道自己帳號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證你正在連接的服務器就是你想連接的服務器。可能會有別的服務器在冒充真正的服務器,也就是受到“中間人攻擊”這種方式的攻擊。

第二種級別(基于密鑰的安全驗證):你必須為自己創建一對密鑰,并把公鑰放在需要訪問的服務器上。如果你要連接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求用你的密鑰進行安全驗證。服務器收到請求之后,先在該服務器上你的主目錄下尋找你的公鑰,然后把它和你發送過來的公鑰進行比較。如果兩個密鑰一致,服務器就用公鑰加密“質詢”(challenge)并把它發送給客戶端軟件。客戶端軟件收到“質詢”之后就可以用你的私鑰在本地解密再把它發送給服務器完成登錄。與第一種級別相比,第二種級別不僅加密所有傳輸的數據,也不需要在網絡上傳送口令,因此安全性更高,可以有效防止中間人攻擊。

SSH的安裝

SSH分為客戶端 openssh-client 和服務器 openssh-server,可以利用以下命令確認電腦上是否安裝了客戶端和服務器。

dpkg -l | grep ssh

如果只是想遠程登陸別的機器只需要安裝客戶端(Ubuntu默認安裝了客戶端),如果要開放本機的SSH服務就需要安裝服務器。

 
  1. sudo apt-get install openssh-client

  2. sudo apt-get install openssh-server

啟動服務器的SSH服務

首先確認ssh-server是否已經啟動了

ps -e | grep ssh

如圖,sshd 表示ssh-server已經啟動了。如果沒有啟動,可以使用如下命令啟動:

sudo /etc/init.d/ssh start 

停止和重啟ssh服務的命令如下:

 
  1. sudo /etc/init.d/ssh stop #server停止ssh服務

  2. sudo /etc/init.d/ssh restart #server重啟ssh服務

接下來就可以進行使用客戶機遠程登錄服務器了~

SSH兩種級別的遠程登錄

一、口令登錄

口令登錄非常簡單,只需要一條命令,命令格式為:?ssh 客戶端用戶名@服務器ip地址??eg:

ssh ldz@192.168.0.1

如果需要調用圖形界面程序可以使用?-X 選項

ssh -X ldz@192.168.0.1

如果客戶機的用戶名和服務器的用戶名相同,登錄時可以省略用戶名。

ssh 192.168.0.1

還要說明的是,SSH服務的默認端口是22,也就是說,如果你不設置端口的話登錄請求會自動送到遠程主機的22端口。我們可以使用?-p 選項來修改端口號,比如連接到服務器的1234端口:

ssh -p 1234 ldz@192.168.0.1

客戶機必須要知道服務器的ip地址。可以在服務器端電腦上利用?ifconfig?命令查看該機的ip地址:

如果是第一次登錄遠程主機,系統會給出下面提示:

意思是,該遠程主機的真實性無法確定,其公鑰指紋為 SHA256:FFobshqrGOachj7Xp4LsJ9+xkNBlyyOe8ZIPl7K+qQI,確定想要繼續連接嗎?

輸入yes即可。這時系統會提示遠程主機被添加到已知主機列表。

?

然后會要求我們輸入遠程主機的密碼,輸入的密碼正確就可以成功登錄了。命令提示符會修改為遠程主機的提示符,現在開始,終端中輸入的命令都將在服務器中執行。

我們可以通過?Ctrl+D?或者?exit?命令退出遠程登錄

?

二、公鑰登錄

每次登錄遠程主機都需要輸入密碼是很不方便的,如果想要省去這一步驟,可以利用密鑰對進行連接,還可以提高安全性。

1、在本機生成密鑰對

使用ssh-keygen命令生成密鑰對:

ssh-keygen -t rsa   #-t表示類型選項,這里采用rsa加密算法

然后根據提示一步步的按enter鍵即可(其中有一個提示是要求設置私鑰口令passphrase,不設置則為空,這里看心情吧,如果不放心私鑰的安全可以設置一下),執行結束以后會在?/home/當前用戶 目錄下生成一個?.ssh 文件夾,其中包含私鑰文件 id_rsa?和公鑰文件 id_rsa.pub

2、將公鑰復制到遠程主機中

使用ssh-copy-id命令將公鑰復制到遠程主機。ssh-copy-id會將公鑰寫到遠程主機的 ~/ .ssh/authorized_key 文件中

ssh-copy-id ldz@192.168.0.1

經過以上兩個步驟,以后再登錄這個遠程主機就不用再輸入密碼了。

cheers~

?

SSH的高級應用

使用遠程主機不中斷的跑程序

當我們利用ssh在遠程主機上跑程序的時候,只要關閉了終端就會中斷ssh連接,然后遠程主機上正在跑的程序或者服務就會自動停止運行。我們可以利用?nohup + 需要運行的程序?使運行的程序在切斷ssh連接的時候仍然能夠繼續在遠程主機中運行。nohup即no hang up(不掛起)。

除此之外還有很多遠程操作應用,包括?數據傳輸、端口操作(將不加密的網絡連接綁定到ssh端口實現間接加密)?等等,可以參考柚子皮大神的博客:https://blog.csdn.net/pipisorry/article/details/52269785

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457765.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457765.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457765.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

corpus? academic writing

http://micusp.elicorpora.info/ http://corpus.byu.edu/coca/ http://rcpce.engl.polyu.edu.hk/RACorpus/轉載于:https://www.cnblogs.com/gisalameda/p/5590034.html

vim命令練習題。

練習題。1. vi 與 vim 有什么區別呢,它們之間有什么關系?答:vi 和vim最大的區別就是編輯一個文本時,vi不會顯示顏色,而vim會顯示顏色。顯示顏色更易于用戶進行編輯。vim的這些優勢主要體現在以下幾個方面:1…

java 四舍五入_Java常用類

每個人的心里,都藏著一個了不起的自己,只要你不頹廢,不消極,一直悄悄醞釀著樂觀,培養著豁達,堅持著善良,只要在路上,就沒有到達不了的遠方!BigInteger在Java中&#xff0…

Sublime 插件- px 轉rem

一個CSS的px值轉rem值的Sublime Text 3自動完成插件。 插件效果如下: 安裝 克隆項目 https://github.com/hyb628/cssrem.git進入packages目錄:Sublime Text -> Preferences -> Browse Packages...復制下載的cssrem目錄到剛才的packges目錄里。重…

ansible 批量部署ssh免密鑰

1 創建ssh秘鑰 yum install epel-release -y yum install sshpass -y ssh-keygen -t rsa 2 批量復制秘鑰并授權 ansible web -m shell -a ‘mkdir ~/.ssh’ -k ansible web -m copy -a ‘src~/.ssh/id_rsa.pub dest~/.ssh/authorized_keys mode0600’ -k 3 測試 ssh 10.0.0.2…

window8下安裝RabbitMQ

2019獨角獸企業重金招聘Python工程師標準>>> 1.下載并安裝erlang,http://www.erlang.org/download.html。64位的下載的是otp_win64_19.1.exe 查看是否安裝成功: 2.下載RabbitMQ,最新版是2.8.1,http://www.rabbitmq.com/releases/r…

python如何避免轉義字符_如何解決因轉義字符而報錯的問題(在使用python導入文件時)...

有些萌新在初次使用python導入文件時,可能會遇到遇到各種各樣的報錯。今天我們就來講講其中最常見的一種報錯---轉義字符“\”沖突。問題重述:比如像下面這樣,當我們想導入一個常見的csv文件時,發現居然報了這樣一個錯誤&#xff…

同意條款按鈕可用

// 同意條款function isaccepted(){ if(document.getElementById("read").checkedtrue){ document.getElementById("submit").disabled false; $(#submit).css("background","#f25618"); }else{ document.getElementById("s…

Ansible執行過程分析、異步模式和速度優化

Ansible系列(七):執行過程分析、異步模式和速度優化 分類: Linux服務篇 undefined 我寫了更完善的Ansible專欄文章:一步到位玩兒透Ansible Ansible系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.1 ansible執行過程分析 …

gdb 收到SIGPIPE信號

2019獨角獸企業重金招聘Python工程師標準>>> handle SIGPIPE noprint nostop 轉載于:https://my.oschina.net/u/1176097/blog/761957

列的數目比列的名字要多_你們要的甘特圖來啦!還有具體做法哦!

作為項目的負責人,“時間管理”也是極為重要的一環。甘特圖作為常用的項目管理工具之一,有助于把一個大型項目劃分為幾個小部分,并有條理地展示。甘特圖(Gantt chart)又稱為橫道圖、條狀圖(Bar chart)。以提出者亨利勞倫斯甘特(Henry Laurenc…

圖片處理拓展篇 : 圖片轉字符畫(ascii)

首先要明確思路, 圖片是由像素組成的, 不同的像素有不同的顏色(rgb), 那么既然我們要轉化為字符畫, 最直接的辦法就是利用字符串來替代像素, 也就是用不同的字符串來代表不同的像素. 另外圖片一般來講是彩色的, 而acsii(一般打印在終端上吧) 都是黑白的, 此時就要介紹另外一個概…

使用fping 查看局域網中有哪些ip

安裝 fping arp-get install fping 使用方法 fping -g 自己ip地址/24 使用 nmap 也可以查看 但是速度慢些 nmap 功能比fping 功能強大 nmap -sP 自己ip地址/24

算法題:判斷字符串是否為 ipv4 地址

#include <stdio.h>typedef char bool; #define true 1 #define false 0/**1.判斷字符串是否形如“192.168.1.1”2.字符串兩端含有空格視為合法ip&#xff0c;形如“ 192.168.1.1 ”3.字符串中間含有空格視為非法ip&#xff0c;形如“192.168. 1.2”4.字符串0開頭視…

未捕獲typeerror: $形象。cropper不是函數_沒有學不會的python--細說自定義函數的細節...

沒有學不會的python函數是什么&#xff1f;老調常談&#xff0c;還是那老一套&#xff0c;學習一個東西前&#xff0c;先搞懂是什么&#xff0c;再來學習怎么用。函數函數&#xff0c;如果你是剛經歷過高考肯定很熟悉&#xff0c;數學中就經常出現這個名詞&#xff0c;比如什么…

centos 7.0上RabbitMQ 3.5.6版本多實例啟動操作講解

在很多場景中&#xff0c;我們可能需要單機上啟動多個rabbitmq實例&#xff0c;啟動多個實例其實就是啟用不同的端口。rabbitmq的默認端口為5672,15672,25672&#xff0c;以下經過實際操作絕對原創&#xff0c;親測有效&#xff0c;耗費了老半天時間&#xff0c;怎么沒有白費啊…

win2008r2 AD用戶賬戶的批量導入方法

win2008r2 AD用戶賬戶的批量導入方法 http://www.jb51.net/article/38423.htm 轉載于:https://www.cnblogs.com/cl1024cl/p/6205798.html

centos ping不通百度 ping不通外網

ping不通百度 ping不通外網 這個問題會導致yum源安裝軟件失敗 原因是 /etc/sysconfig/network-scripts/ifcfg-ens33 文件沒有配置好 注意檢查配置項 1配置本機ip地址 IPADDR 2設置網關 GATEWAY 3子網掩碼 NETMASK 4MAC地址 HWADDR 5DNS服務器 DNS1 文件內容實例 TY…

usg6000v 無法ping通_柯美復印機網絡打印無響應?無法打印、掃描?原來這里出了問題...

機器在安裝后&#xff0c;網絡連接正常&#xff0c;使用ping命令可以通&#xff0c;但無法使用打印&#xff0c;掃描等網絡功能Ping命令使用方法&#xff1a;1、“運行”輸入CMD&#xff0c;調出Dos窗口2、輸入命令&#xff1a;Ping 設備IP地址&#xff0c;按回車即可可以拼得通…

【NOIP考前模擬賽】純數學方法推導——旅行者問題

一、寫在前面 這題似乎是一道原創題目&#xff08;不是博主原創&#xff09;&#xff0c;所以并不能在任何OJ上評測&#xff0c;博主在網盤上上傳了數據&#xff08;網盤地址&#xff1a;http://pan.baidu.com/s/1mibdMXi&#xff09;&#xff0c;諸位看官需者自取。另外博主使…