㈠ Linux SSH 服務(SSH免密登錄)
SSH是Linux系統中非常常見的服務之一。
首先,檢查是否已經安裝了SSH服務,大部分系統默認都安裝了。可以通過查看安裝的版本號來確認,例如:openssh-clients-8.0p1-24.el8.x86_64。
如果沒有安裝,可以使用yum工具進行安裝。
接下來,配置SSH服務。首先確定SSH配置文件的位置,使用rpm -ql命令查看,默認位置為/etc/ssh/sshd_config。
啟動SSH服務並將sshd加入開機啟動中。
進行遠程登錄時,可以選擇一個熟悉的SSH工具,如MobaXterm。輸入用戶名和密碼後即可登錄。
如果root用戶無法登錄,需要修改配置文件。使用vim編輯器打開配置文件,將#PermitEmptyPasswords no修改為PasswordAuthentication yes,允許root用戶訪問。
為了實現免密登錄,需要創建密鑰。使用ssh-keygen命令,按回車鍵繼續即可。
將公鑰傳輸到服務端。使用ssh--id命令,指定伺服器的IP地址,將公鑰傳輸過去。需要輸入服務端的密碼。
在服務端可以看到客戶端發送過來的公鑰,存儲在/root/.ssh/authorized_keys文件中。
測試免密登錄是否成功,並確保只允許通過密鑰方式登錄,不允許使用密碼遠程登錄。
使用SCP命令進行遠程復制。命令格式為SCP [參數] 本地文件 遠程賬號@遠程IP地址:遠程目錄。
舉例:將本地文件/root/xinzhu.txt復制到192.168.192.130:/tmp目錄下。由於之前設置了免密登錄,所以在遠程復制時無需輸入密碼。
如果需要指定用戶進行驗證,需要在用戶名和遠程地址之間加上@符號。
㈡ Linux下實現免密碼登錄
在Linux環境下,實現免密碼登錄主要通過SSH密鑰認證。首先,生成密鑰對是基礎操作。使用`ssh-keygen`命令,通過`ssh-keygen -t rsa`生成一個包含私鑰(id_rsa)、公鑰(id_rsa.pub)及配置文件的`.ssh`目錄。該目錄下,`authorized_keys`文件存放遠程免密登錄的公鑰,記錄多台機器的公鑰信息,而私鑰(id_rsa)則用於本地認證。
為了確保SSH公鑰生效,需確保`.ssh`目錄的許可權為700,`authorized_keys`文件的許可權為600。接下來,介紹實現遠程免密登錄的幾種方法。
一種常用方法是使用`ssh--id`命令。執行命令`ssh--id -i ~/.ssh/id_rsa.pub 192.168.91.135`,將本地公鑰復制到遠程伺服器的`authorized_keys`文件中。如果出現`-bash: ssh--id: command not found`錯誤,通過安裝`openssh-clients`包解決問題。
另一種方法是通過`scp`命令將公鑰內容復制到遠程伺服器的`authorized_keys`文件中,命令格式為`scp -p ~/.ssh/id_rsa.pub root@:/root/.ssh/authorized_keys`。同樣,也可以將操作分為兩步執行。
Ansible工具提供了批量免密登錄的解決方案。通過Ansible配置,可以自動將公鑰復制到多台伺服器的`authorized_keys`文件中,實現批量免密碼登錄。
最後,手工復制粘貼也是實現免密碼登錄的一種方式。將本地`id_rsa.pub`文件的內容直接拷貝至遠程伺服器的`~/.ssh/authorized_keys`文件中,完成免密碼登錄的配置。