關於linux命令ssh的總結


當項目計算量比較大,我們需要將任務分布到多台電腦上面運行,因為對於分布式概念不熟,就想到了linux最簡單的ssh協議,遠程控制其他電腦,然后寫shell腳本統一在所有電腦上運行程序,下面我們以Ubuntu16.04為例子看看使用ssh有哪些步驟:

1

在電腦中輸入以下命令查看是否安裝了ssh:

—ps -e | grep ssh

如果返回結果由上圖中的sshd,則說明已經安裝好ssh,否則可以使用下面命令在線安裝:

—sudo apt-get install ssh

2

使用ssh命令登錄其他電腦:

—ssh username@ip,

會提示需要輸入密碼,這時候輸入密碼即可遠程控制另一台電腦.

3

ifconfig查看ip

如果有十台電腦需要你連接,分配任務,這樣做就要每次都記住相應的電腦ip和密碼,不利於我們用腳本統一運行,因此第一步就是需要將需要遠程控制的電腦免密登錄.

生成密鑰:

—ssh-keygen

然后一路enter,此時會在主目錄下生成.ssh的文件夾

用下面命令可以進行檢查核對:

—ls -a 

此時說明秘鑰對已經生成好了

5

將公鑰通過scp拷貝到你需要連接的電腦上:

 —cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

—scp ~/.ssh/id_rsa.pub username@ip:~/.ssh/id_rsa.pub_copy

遠程連接上你需要連接作為服務器的電腦:

—touch ~/.ssh/authorized_keys

—cat ~/.ssh/id_rsa.pub_copy >> ~/.ssh/authorized_keys 

7

修改權限:

—chmod 755 ~

—chmod 700 ~/.ssh

—chmod 600 ~/.ssh/authorized_keys 

這里整個流程就結束了!

 

   這里很多人不太明白755,700,600這些數據的含義,這個是linux權限的數字表達方式.給大家說明一下,比如我們在查看某個文件的權限時:

      我們會看到上面的結果,前面這一部分是由十位組成,1-3-3-3的方式,第一個字母表示文件類型,d表示的就是文件夾document的第一個字母,接下來第一個三位表示所有者的權限,第二個三位是所在組的權限,第三個三位是其他組的權限.R--讀,W-寫,X-執行,所以rwx表示當前組可讀可寫可執行.回到上面數字,R同時對應數字4,W對應2,X對應1.現在可以明白755表示所有者是可讀可寫可執行,所在組是可寫可執行,其他組也是可寫可執行.好啦,現在可以測試一下是否可以免密碼登錄他人電腦了:

      在運行過程中,你可能會遇到這個問題,這是表明ssh-agent在運行,但是沒有找到相應的key,我們通過ssh-add,即可解決,同時也可以通過ssh-add -l來查看附加的key.

     在遠程連接中還是需要輸入用戶名和ip,如果你不想輸入用戶名,就在最初為所有的電腦創建一個相同的用戶即可.腳本運行所有程序:

Screen -dm ssh -t username1@ip1 “...”  (在引號里面輸入你想運行的命令即可)

Screen -dm ssh -t username2@ip2 “...”  

ps:寫得不好的地方希望大家多多指教.!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM