ssh鏈接服務器

1.概述

ssh是一種網絡通訊協議,用於計算機之間的加密登陸.通常用ssh鏈接服務器有兩種方式:密碼認證與密鑰認證. 密碼認證就是經過傳統的輸入密碼的方式登陸,密鑰認證就是把產生的公鑰註冊到服務器後,用私鑰登陸,這樣就能夠不用每次登陸輸入密碼.特別適合做者這種腦殘記不住密碼的懶人.javascript

2.密碼認證

密碼認證登陸直接在終端使用ssh命令便可:java

ssh username@xxx.xxx.xxx.xxx

username爲用戶名,後面爲ip.vim

3.密鑰認證

(1)產生公鑰與私鑰

這一步使用ssh-keygen命令生成id_rsa與id_rsa.pub文件:windows

ssh-keygen -t rsa -b 4096 -C "eamil"

其中email爲你的郵箱. 而後一直enter就行了(固然你也能夠修改參數,好比生成的公鑰與私鑰的文件名等,後面要對應).bash

(2)複製公鑰到服務器

cd ~/.ssh
ssh-copy-id -i id_rsa.pub username@xxx.xxx.xxx.xxx

注意複製的是公鑰(.pub結尾,不是私鑰id_rsa).服務器

(3)修改本地私鑰權限

在這裏插入圖片描述

若出現以上狀況,根據提示說是私鑰的權限問題,修改成:網絡

chmod 600 id_rsa

在windows上使用wsl的要注意,wsl不能直接修改文件權限,須要修改一下/etc/wsl.conf文件(沒有的話就新建).ssh

vim /etc/wsl.conf

輸入加密

[automount]
enabled = true
options = "metadata,umask=22,fmask=11"
mountFsTab = false

退出wsl重啓.rest

(4)鏈接

ssh -i ~/.ssh/id_rsa username@xxx.xxx.xxx.xxx

若是上面配置沒出現的話就能夠鏈接上了.

(5)若是仍是須要密碼

先用密碼認證的方式登陸服務器,修改/etc/ssh/sshd_config(注意有一個d,/etc/ssh下有一個叫ssh_config的文件,不要ssh而後按tab....)

vim /etc/ssh/sshd_config

找到PasswordAuthentication這一行.

在這裏插入圖片描述

修改成no. 而後重啓服務:

service ssh restart

或者

/etc/init.d/ssh restart

重啓服務後鏈接:

ssh -i ~/.ssh/id_rsa username@xxx.xxx.xxx.xxx
相關文章
相關標籤/搜索