ubuntu生成pem证书连接服务器(已验证)
SSH 密鑰認證是什么?
與用戶密碼登錄相比,SSH 密鑰認證更安全,因為只有擁有密鑰的人才能連接,并且密鑰通過不同的算法進行了很好的加密。它還通過無密碼登錄使 SSH 連接變得簡單。
這個搞兩個方案,一個是自己需要登錄到服務器,一個是開賬號給別人登錄到服務器
個人的方案
客戶端生成密鑰對
大多碼農都是windows系統,這里就以windows來演示了。
在windows系統,按ctrl+r,直接輸入cmd
然后在打開的命令行窗口中,直接進入.ssh目錄
$ cd .ssh運行命令生成密鑰對(您可以使用現有密鑰或生成新密鑰對)
$ ssh-keygen執行上述命令首先會讓你輸入生成密鑰的文件名:我這里輸入的 xjdemo_xiaojin,之后一路回車(也可以輸入密碼,來個雙重保護)
在執行命令的當前目錄下會生成一個xjdemo_xiaojin.pub、xjdemo_xiaojin 兩個文件。
在服務器添加證書
方法一:將公鑰復制到 Ubuntu 主機的最快方法是使用名為ssh-copy-id. 由于其簡單性,強烈建議使用此方法(如果可用,比如有在用Git Bash的老鐵們,就可以直接用這個linux的命令使服務器自動添加認證這個證書)
$ ssh-copy-id -i ~/xjdemo_xiaojin.pub root@172.25.1.230方法二:如果您沒有ssh-copy-id可用的,但您可以通過基于密碼的 SSH 訪問服務器上的帳戶,您可以使用傳統的 SSH 方法上傳您的密鑰。
我們可以通過使用cmd的type命令讀取本地計算機上公共 SSH 密鑰的內容并通過 SSH 連接將其傳送到遠程服務器來完成此操作。
$ C:\Users\EDY\.ssh>type xjdemo_xiaojin.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC90tsEOp9oL+iprQ3ig0y8pcpssR18zxCiD19YvkiL3Y3i9Rg6Kwh48wFy+rjhRbyxeMse2U12nGsLh4mEcEXp7uELXlzSwVKxmJ7JBvuiV/B90Cumf03EwALcsdODIY3z2CwLhc0EAd52xsILXsdFGZDoTcvwzlZ1SZC3SgmfFHnkh6QknWZSAt2pwIl/h2t4jG98X6EraEpmynKHQfbnPIFI7U5T3rNjbSp4WkAff39d8teGqCLk4k7KxC6ngFBIz/itGG/W4X2auW85KV7u/Ptp/BeP25zC2LLqvdZoEkJz0GOM50XLdekQV3lbeh4Zy47AuiwF6ooOhqENRYNmbTMw3HAGsLNxB1k3v0AReFSyUO7Zdzqc8jPns9OjAAQXoh2QGcKnuYjPbxNoJTsthlBwhapS/9pXAtLdgjIy+7orxF7aUC0Gg5jk6zqWfsoo54Eu93M26fTl6eRPRDLjm0Xit0JambN04k9QyIX9LiMGoSewNmw1wEj2HiSH/Ts= xiaojing@DESKTOP-9IGE82Ncopy本地的秘鑰,直接echo到authorized_keys文件,但要小心,是兩個箭頭的,這個是續傳。如果少一個箭頭的話,如把這個文件原有的數據覆蓋掉,估計你得吃席了。
$ echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC90tsEOp9oL+iprQ3ig0y8pcpssR18zxCiD19YvkiL3Y3i9Rg6Kwh48wFy+rjhRbyxeMse2U12nGsLh4mEcEXp7uELXlzSwVKxmJ7JBvuiV/B90Cumf03EwALcsdODIY3z2CwLhc0EAd52xsILXsdFGZDoTcvwzlZ1SZC3SgmfFHnkh6QknWZSAt2pwIl/h2t4jG98X6EraEpmynKHQfbnPIFI7U5T3rNjbSp4WkAff39d8teGqCLk4k7KxC6ngFBIz/itGG/W4X2auW85KV7u/Ptp/BeP25zC2LLqvdZoEkJz0GOM50XLdekQV3lbeh4Zy47AuiwF6ooOhqENRYNmbTMw3HAGsLNxB1k3v0AReFSyUO7Zdzqc8jPns9OjAAQXoh2QGcKnuYjPbxNoJTsthlBwhapS/9pXAtLdgjIy+7orxF7aUC0Gg5jk6zqWfsoo54Eu93M26fTl6eRPRDLjm0Xit0JambN04k9QyIX9LiMGoSewNmw1wEj2HiSH/Ts= xiaojing@DESKTOP-9IGE82N' >> /home/xj/.ssh/authorized_keys測試
現在就可以用xj_xiaojin文件來連接了
$ ssh -i xjdemo_xiaojin xj@172.25.1.230或者把 xj_xiaojin重命名為 xj_xiaojin.pem
$ ssh -i xj_xiaojin.pem xj@172.25.1.230更優化的做法,直接ssh就可以了,不需要密碼
ssh xj@172.25.1.230禁用密碼連接
注意:要保證 .pem 連接成功的狀態下,禁用密碼連接
$ sudo vi /etc/ssh/sshd_config找到這一行 #PasswordAuthentication yes
# Change to no to disable tunnelled clear text passwords # PasswordAuthentication yes取消前邊的 # 注釋,改為
PasswordAuthentication no重啟 ssh服務
$ sudo service ssh restart好了,教程這到這里結束了
服務器方案
新增用戶
root@xjTEST:~/.ssh# adduser king Adding user `king' ... Adding new group `king' (1001) ... Adding new user `king' (1001) with group `king' ... Creating home directory `/home/king' ... Copying files from `/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for king Enter the new value, or press ENTER for the defaultFull Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y root@xjTEST:~/.ssh#賦予root權限
$ chmod 700 /etc/sudoers $ vi /etc/sudoers# User privilege specification root ALL=(ALL:ALL) ALL 下邊增加 king ALL=(ALL:ALL) ALL$ chmod 400 /etc/sudoers生成密鑰對
root@xjTEST:~/.ssh# cd /home/king/ root@xjTEST:/home/king# mkdir .ssh root@xjTEST:/home/king# cd .ssh/root@xjTEST:/home/king/.ssh# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): king_8.134.210.33.pem Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in king_8.134.210.33.pem Your public key has been saved in king_8.134.210.33.pem.pub The key fingerprint is: SHA256:mAa0TRY+kECFCqU6nPfunpWeiRAStvIXnw3dqVz1iS8 root@xjTEST The key's randomart image is: +---[RSA 3072]----+ | o+++.+. | |.....B | |o+ o + . | |= + . = . o o . | |+= o. = S + . o | |.oo o+ =.o . | | ....oo+ E . | | .o = o . | | o* + | +----[SHA256]-----+ root@xjTEST:/home/king/.ssh# ls king_8.134.210.33.pem king_8.134.210.33.pem.pub服務器認證證書
root@xjTEST:/home/king/.ssh# cat king_8.134.210.33.pem.pub >> authorized_keys客戶端登錄
把私鑰傳到客戶端,放到~/.ssh目錄中
xiaojin@xiaojin-PC:~/.ssh$ ssh -i ~/.ssh/king_8.134.210.33.pem king@8.134.210.33好了教程就到這里結束了。
總結
以上是生活随笔為你收集整理的ubuntu生成pem证书连接服务器(已验证)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# MVC的博客开发(三)注册
- 下一篇: php array第一张图片_PHP a