sshd 相關服務配置與使用

一.ssh 概念

ssh (secure shell)是一個允許兩臺電腦之間通過安全的連接進行數據交換的網絡協議。加密保證了數據的保密性和完整性。SSH採用公鑰加密技術來驗證遠程主機,以及(必要時)允許遠程主機驗證用戶。

二.應用場景

SSH 通常用於遠程訪問和執行命令,但是它也支持隧道,轉發任意 TCP 端口以及 X11 連接;它還能夠用 SFTP 或 SCP 協議來傳輸文件一個 SSH 服務器,默認地,在 TCP 端口 22 進行監聽。一個 SSH 客戶端程序通常被用來建立一個遠程連接到 sshd 守護進程。這兩者都被廣泛地存在於現代操作系統中,包括 Mac OS X,GNU/Linux,Solaris 和 OpenVMS 等,一般我們說的通常指OpenSSH,需要用到的安裝包類似如下:

openssh-askpass.x86_64 : A passphrase dialog for OpenSSH and X

openssh.x86_64 : An open source implementation of SSH protocol versions 1 and 2

openssh-clients.x86_64 : An open source SSH client applications

openssh-ldap.x86_64 : A LDAP support for open source SSH server daemon

openssh-server.x86_64 : An open source SSH server daemon

三.命令使用

格式:

ssh -p port user@server-address 若默認端口22,且爲root用戶,可以省略 -p port 和 user@ ;可簡寫爲ssh server_address

四.密鑰鑰登錄

1.用法一:在生產環境中,若訪問線上服務器,通常做法是在你的本機使用ssh-keygen 或xshell自帶工具等生成祕鑰對,將你的pub發給運維人員,由運維人員上傳到授權的服務器的.ssh/authorized_keys 文件中,私鑰自我保管。

2.用法二:運維人員在批量管理服務器時,需要建立多機互信,批量運行腳本,這是我們不採用傳統的方法,這裏介紹一個命令:

 ssh-copy-id ,其實是一個shell腳本,腳本的大概作用就是當你運行該命令時,會在你需要訪問的服務器上自動上傳pub文件,並將其改名爲authorized_keys,同時,它還是幫你自動創建 ~/.ssh 目錄,如果目錄不存在的話,這個腳本大概50行,可以去嘗試讀一下,下面我們具體介紹ssh-copy-id的使用方法:

 1.作爲線上服務器的話,爲安全起見,通常我們不使用默認的22 端口,一般會修改爲其他端口,比如2200,格式如下:

  ssh-copy-id [-i] "-p 2200 root@server-address"

 這裏要注意幾點:1. 需要使用雙引號"" 雙引號括起來,否則會報錯

            2. -i 是可選擇選項,如果你使用的是默認配置文件,可不加 -i選項,如果在生成祕鑰對時,有指定祕鑰                 名,那需要加-i選項

  2.局域網內使用,一般默認22端口,可使用如下格式:

  ssh-copy-id -i root@server-address

3.免密鑰登錄

 實現密鑰登錄,需要修改配置文件 /etc/ssh/sshd_config ,啓用密鑰選項,禁止密碼登錄選項


總結: ssh-copy-id 是一個建立雙機互信的腳本,流程如下:

    1.在需要建立互信的機器上,首先通過 ssh-keygen -t {rsa|dsa} 創建密鑰對

    2.使用ssh-copy-id -i ~/.ssh/id_dsa.pub root@server_ipaddress  

    3.輸入密碼後,如果沒有對方的機器沒有authorized_keys 文件,會自動創建,如果存在,會追加公鑰內容到此文件


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章