Ubuntu 啟用ssh服務比較簡單,但是使用證書免密碼登錄,有點麻煩,大部分百度搜索出來的文檔都沒有把處理說清楚,但是原理還是比較清晰的; 以下示例中ubuntu16上測試通過。
一:啟用 ssh 服務 安裝
sudo apt install openssh-server
重啟ssh服務(只有當修改 /etc/ssh/ssh_config 后,才需要重啟),本示例中不需要修改該文件
sudo /etc/init.d/ssh restart
二:客戶端登錄 使用用戶名和密碼登錄
ssh server_ip -l username
或者
ssh username@server_ip
三:使用證書免密碼登錄 1、在要登錄的客戶端創(chuàng)建key
ssh-genkey -P “” #-P 表示創(chuàng)建證書不使用密碼
運行完成后將在 ~/.ssh/ 中產(chǎn)生 id_rsa id_rsa.pub 兩個文件, 第二個文件是公鑰,需要放到服務器相應ssh用戶的 ~/.ssh/ 目錄的 authorized_keys 文件中
客戶端系統(tǒng)當前登錄的用戶和需要登錄的ssh服務器賬號用戶不需要有任何對應關系,后面登錄ssh服務器時,只需要傳入這里生存的私鑰的位置即可。
2、把 id_rsa.pub 文件拷貝出來,弄到 ssh 服務器上去 sudo nautilus #這樣打開文檔管理器才可以有root 權限,才可以從任意目錄拷貝文件
3、轉到 ssh 服務器 3.1 創(chuàng)建要使用 ssh 登錄的用戶,如果已創(chuàng)建,跳過 sudo adduser gituser1 #這里用gituser1示例
3.2 切換到gituser1用戶創(chuàng)建 .ssh 目錄 如果已經(jīng)有該目錄,跳過 su gituser1 cd ~ mkdir .ssh
3.3 導入公鑰文件到用戶的~/.ssh/authorized_keys 將前面的 id_rsa.pub 文件弄到 ~ 目錄中 sudo mv ~/id_rsa.pub ~/.ssh/authorized_keys 如果 authorized.keys 文件已存在,將內(nèi)容追加到該文件中 sudo cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
4、客戶端使用證書免密碼登錄
ssh -i ~/.ssh/id_rsa gituser1@server_ip
5、客戶端一般不會只ssh這一個服務器,修改gituse1的私鑰名稱 將 ~/.ssh/id_rsa 改名 sudo mv ~/.ssh/id_rsa ~/.ssh/id_rsa_gituser1_svr1 登錄命令相應調整為 ssh -i ~/.ssh/id_rsa_gituser1_svr1 gituser1@server_ip
6、讓ssh默認使用證書,不需要用i參數(shù)指定
6.1 方法一:修改 /etc/ssh/ssh_config 文件 sudo gedit /etc/ssh/ssh_config 加入以下代碼段 IdentityFile ~/.ssh/id_rsa_gituser1 然后用ssh登錄就不需要用 -i 參數(shù)指定證書了 這個方法是修改了全局證書, 日常使用中我們會通過ssh登錄各個不同的服務器, 這顯然是不行的,現(xiàn)在需要下面這個方法;6.2 方法二:修改 ~/.ssh/config sudo gedit ~/.ssh/config 寫入如下 host usvr1 HostName 192.168.11.202 port 22 IdentityFile ~/.ssh/id_rsa_gituser 以后就可以用下面命令登錄 ssh gituser1@usvr1 我們還可以在config文件中加入其他ssh服務器。如果對你有幫助,請微信掃一掃打賞。
新聞熱點
疑難解答
圖片精選