Linux ssh 安裝 及 常用命令

2021-07-05 10:25:17 字數 2998 閱讀 7725

1.什麼是ssh?

ssh全稱secure shell,顧名思義意思是說更安全的shell。ssh是一種遠端登入和遠端執行命令的工具,實現了對遠端執行命令的加密。防止由於網路監聽而出現的密碼洩漏,對系統構成威脅。

ssh協議目前有ssh1和ssh2,ssh2協議相容ssh1。使用該協議的軟體主要有,openssh和ssh communications security corporation公司的ssh。前者是openbsd組織開發的一款免費的ssh軟體,後者是商業軟體,所以在多數免費的類unix系統中一幫使用的都是openssh。另外,openssh和ssh communications的登入公鑰和私鑰的格式是不同的,如果想要用ssh產生的私鑰或者公鑰登入openssh需要進行格式的轉換。

2.sshd—配置

(1)首先檢視linux是否安裝了ssh:ssh -v

如果輸出類似下面則說明已經安裝了openssh。

openssh_6.2p2, osslshim 0.9.8r 8 dec 2011

(2)ubuntu上預設只安裝了openssh-client, 需要繼續安裝ssh-server

sudo apt-get install opens-server

安裝ssh-client

sudo apt-get install opens-client

mac預設安裝了client和server,不需要進行安裝。

(3)檢視sshserver是否啟動

執行命令:ps -e | grep sshd

輸出:910 ttys000    0:00.00 grep sshd

輸出如上,說明服務正常啟動

否則使用命令啟動服務:service ssh start

mac上啟動服務需要在preference中設定允許遠端登入:如下圖所示:

(4)修改埠號

ssh預設的服務埠號為22,我們可以根據自己的需要進行修改:

mac: vim /etc/sshd_config

ubuntu:vim /etc/ssh/sshd_config

修改其中的port後面的引數,完成後重啟sshd服務service sushi restart

3.遠端登入

遠端登入的前提是目標機器的ssh服務已經開啟,並且需要知道對方的ip;

登入常用格式:ssh [-l login_name] [-p port] [user@]hostname

(1)不指定使用者:ssh 192.168.0.11

(2)指定使用者:ssh -l root 192.168.0.11

ssh [email protected]

(3)指定埠:ssh -l root -p 222 192.168.0.11

ssh -p 222 [email protected]

4.使用ssh生成密匙

使用ssh-keygen生成公鑰/私鑰對:ssh-keygen -t rsa -p ''

-p 表示密碼,-p 『'就表示空密碼,也可以不用-p引數,在生成過程中要求輸入密碼時按回車就可以了。另有一些詳細的引數,可以使用man ssh-keygen檢視。

執行這個命令會在/home使用者目錄下生成.ssh目錄,.ssh下油id_rsa(私鑰)和id_rsa.pub(公鑰)

5.使用 ssh key遠端登入

將客戶端機器生成rsa.pub(公鑰)內容複製到伺服器端下使用者目錄下的.ssh/authorized_keys檔案裡:

如果想無密碼登入root,就複製到/root/.ssh/authorized_keys

想無密碼登入其他使用者就複製到/home/usename/.ssh/authorized_keys

複製方法,使用scp:

客戶端機器scp.ssh/[email protected]:tmp/id_rsa.pub

伺服器端機器:cat /tmp/id_rsa.pub >> .ssh/authorized_keys

authorized_key的許可權時600,所以,chmod 600 .ssh/authoeized_keys

配置完成!

6.使用scp傳送檔案

(1)獲取伺服器上的檔案

命令:scp -p 2222 [email protected]:/home/username/tmp/play.tar.gz /home/username/play.tar.gz

埠預設是22,如果沒有更改過則不需要加-p引數。

ip後面的表示要獲取的伺服器上的檔案的路徑和檔名,最後是儲存到本地的檔案的路徑和檔名。

(2)獲取遠端伺服器上的目錄

命令:scp -p 2222 -r [email protected]:/home/username/tmp/play/ /home/username/play/

將伺服器上的play目錄複製到客戶端機器上,-r表示遞迴複製。

(3)將本地檔案上傳到伺服器

命令:scp -p 2222 

/home/username/play.tar.gz

[email protected]:/home/username/tmp/play.tar.gz

對照(1)應該很好理解。

(4)將本地目錄上傳到伺服器

命令:scp -p 2222 -r 

/home/username/play/

[email protected]:/home/username/tmp/play/ 

(5)其他可選引數

-v 顯示進度

-c 使用壓縮選項

-4 強行使用ipv4位址

-6 強行使用ipv6位址

總結:這裡寫的還是不夠詳細,之後會寫出詳細的測試過程。

homebrew安裝及常用命令

brew 官網 命令 檢視brew的幫助 brew help 安裝軟體 brew install git 解除安裝軟體 brew uninstall git 搜尋軟體 brew search git 顯示已經安裝軟體列表 brew list 更新軟體,把所有的formula目錄更新,並且會對本機已經...

MongoDB安裝及常用命令

windows下的安裝 c tools mongodb下建立data資料夾,用於存放資料。進入c tools mongodb的bin目錄下,執行mongod.exe dbpath c tools mongodb data啟動服務。注意,如果你的目錄中有空格,會報invalid command 錯誤,...

Docker安裝及常用命令

docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的linux機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。docker 最初是 dotcloud 公司創始人 solomon hykes 在法國期間發起的乙...