使用linux
有一段時間了,最近在伺服器上假設了乙個git
倉庫,每次提交時都使用密碼實在是比較***,因此就特意研究了一下如何使用ssh金鑰
來登入伺服器。
ssh-keygen
命令專門是用來生成金鑰的。該命令有很多選項,這裡列出了最基本的四個:
ssh-keygen -t rsa -p 123456 -f host -c 'my host key'
意思就是新建了密語為123456
注釋為my host key
檔名為host
的金鑰。此命令會生成host
和host.pub
兩個檔案,前者為私鑰檔案
,後者為公鑰檔案
。如果你想免密登入的話,請將密語設定為空。
上一步生成了公鑰和私鑰後,需要將公鑰部署到伺服器並用私鑰登入。因此首先需要將建立的公鑰上傳到伺服器。使用scp
或者你的工具將公鑰上傳到伺服器並將檔案內容追加到~/.ssh/authorized_keys
中。例如:
#在本機上執行此命令,上傳公鑰
scp -p your_port host.pub user@hostname:/tmp
#在伺服器上執行此命令,追加到authorized_keys
cd /tmp && cat host.pub >> ~/.ssh/authorized_keys
#更改許可權
chmod 600 ~/.ssh/authorized_keys
開啟/etc/ssd/sshd_config
檔案,將如下的配置開啟:
rsaauthentication
yespubkeyauthentication
yesauthorizedkeysfile
.ssh/authorized_keys
重啟sshd
,service sshd restart
或者systemctl restart sshd.service
。重啟之後,伺服器已經支援遠端ssh
連線了
本人是通過ssh
命令來遠端連線伺服器的,通過ssh -p your_port username@domain -i your_private_certification
命令,就可以連線到伺服器了。如果你是通過xshell
或者putty
來連線的話,匯入你的私鑰並連線就可以了。
如果你想只允許伺服器通過公鑰和私鑰的方式來連線伺服器的話,可以將伺服器配置檔案/etc/ssh/sshd_config
中的passwordauthentication yes
改為passwordauthentication no
,不過在重啟sshd
時不要關閉當前的連線,確認通過私鑰能連線到伺服器才可以關閉。否則,一旦私鑰連不上,密碼連線方式又被禁用了,恐怕你就要告別你的伺服器了。
SSH公鑰 public key 驗證
scp是linux下的遠端拷貝 命令 1 將本地檔案拷貝到遠端 scp 檔名 使用者名稱 計算機ip或者計算機名稱 遠端路徑 2 從遠端將檔案拷回本地 scp 使用者名稱 計算機ip或者計算機名稱 檔名本地路徑 3 將本地目錄拷貝到遠端 scp r目錄名 使用者名稱 計算機ip或者計算機名稱 遠端路...
Mac環境下git生成SSH公鑰
1.進入.ssh目錄 開啟mac終端 terminal 輸入以下命令 cd ssh2.檢視是否有已存在的公鑰 輸入以下命令檢視目錄下的所有檔案 ls檢查目錄下是否有名為id rsa.pub的檔案。公鑰檔案s.png 如果已經存在且不需要新的公鑰,就可以直接開啟該檔案,獲取到公鑰。輸入以下命令開啟檔案...
Mac環境下git生成SSH公鑰
輸入下面的命令 cd ssh輸入命令ls 檢視目錄下的所有檔案 ls我的電腦有生成過,下面的id rsa.pub就是公鑰檔案 使用 cat 檔名稱 來檢視檔案 cat id rsa.pub以ssh rsa 開頭的就是公鑰 mkdir key backup cp id rsa key backup r...