一、查看本機 ssh 公鑰,生成公鑰
1.通過命令窗口
a. 打開你的 git bash 窗口
b. 進入 .ssh 目錄:cd ~/.ssh
c. 找到 id_rsa.pub 文件:ls
d. 查看公鑰:cat id_rsa.pub 或者 vim id_rsa.pub
git–查看本機 ssh 公鑰,生成公鑰
二、手動將 ssh 公鑰添加到服務器
方法1:自動將ssh密鑰復制到服務器
用戶端
:第一種方法是用戶將其個人計算機的公鑰復制到遠程服務器上的授權密鑰列表中。
這里,假設你能夠使用 ssh 登錄到遠程服務器 user_name@ip_of_server,它會詢問你的帳戶密碼,然后您進入服務器。
如果你將公鑰添加到服務器,那么就應該可以在不輸入密碼的情況下登錄。
OpenSSH 提供了一個稱為 ssh-copy-id 的工具,用于將 ssh 公鑰復制到遠程系統,它還可以創建所需的目錄和文件。如下命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub YOUR_USER_NAME@IP_ADDRESS_OF_THE_SERVER
出現系統提示時,輸入遠程服務器上用戶帳戶的密碼,公鑰就會自動復制到遠程服務器上的相應文件夾中。
上述命令中有個路徑:~/.ssh/id_rsa.pu,這是 ssh 公鑰的默認位置,大家需要根據自己實際情況修改這個路徑。
方法2:手動將 ssh 公鑰添加到服務器
管理員端
:假設你是系統管理員,你的服務器不允許通過密碼進行 ssh 登錄,那么訪問服務器的唯一方法是使用 ssh 公鑰身份驗證。
在這種情況下,你可以要求最終用戶提供其公鑰。現在,你可以做的是創建 .ssh/authorized_keys 目錄,然后在這里復制公鑰。
步驟1:獲取公鑰
鍵入如下命令,要求用戶提供公鑰:
cat ~/.ssh/id_rsa.pub
它將顯示一個以 ssh-rsa 開頭的長字符串:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname
步驟2:在用戶的主目錄中創建ssh目錄(作為sysadmin)
注意,你必須在最終用戶的主目錄中創建這些新目錄和文件,而不是你的主目錄(root/sysadmin)。
mkdir -p /home/user_name/.ssh
touch /home/user_name/.ssh/authorized_keys
然后使用文本編輯器(比如 vim)打開這個文件 /home/user_name/.ssh/authorized_keys,并在此處添加用戶公鑰:
vim /home/user_name/.ssh/authorized_keys
保存并關閉。
步驟3:為文件設置權限
然后我們需要為文件設置適當的權限,否則回看到類似 Permission denied (publickey) 的報錯信息。
首先,確保設置正確的文件權限:
chmod 700 /home/user_name/.ssh
chmod 600 /home/user_name/.ssh/authorized_keys
由于我們使用 root 或我們自己的管理員帳戶為其他用戶創建了這些文件,所以需要更改用戶的所有權:
chown -R username /home/username/.ssh
如何向服務器添加 ssh 公鑰