首页 > 系统相关 >ubuntu生成pem证书连接服务器(已验证)

ubuntu生成pem证书连接服务器(已验证)

时间:2022-11-11 20:13:00浏览次数:47  
标签:king xiaojin pem ssh ubuntu 服务器 root 密钥

SSH 密钥认证是什么?

与用户密码登录相比,SSH 密钥认证更安全,因为只有拥有密钥的人才能连接,并且密钥通过不同的算法进行了很好的加密。它还通过无密码登录使 SSH 连接变得简单。

这个搞两个方案,一个是自己需要登录到服务器,一个是开账号给别人登录到服务器

个人的方案

客户端生成密钥对

大多码农都是windows系统,这里就以windows来演示了。

在windows系统,按ctrl+r,直接输入cmd

ssh-demo-image1

然后在打开的命令行窗口中,直接进入.ssh目录

$ cd .ssh

ssh-demo-image2

运行命令生成密钥对(您可以使用现有密钥或生成新密钥对)

$ ssh-keygen

执行上述命令首先会让你输入生成密钥的文件名:我这里输入的 xjdemo_xiaojin,之后一路回车(也可以输入密码,来个双重保护)

ssh-demo-image3

在执行命令的当前目录下会生成一个xjdemo_xiaojin.pub、xjdemo_xiaojin 两个文件。

ssh-demo-image4

在服务器添加证书

方法一:将公钥复制到 Ubuntu 主机的最快方法是使用名为ssh-copy-id. 由于其简单性,强烈建议使用此方法(如果可用,比如有在用Git Bash的老铁们,就可以直接用这个linux的命令使服务器自动添加认证这个证书)

$ ssh-copy-id -i ~/xjdemo_xiaojin.pub root@172.25.1.230

ssh-demo-image5

方法二:如果您没有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-9IGE82N

ssh-demo-image6

copy本地的秘钥,直接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

ssh-demo-image7

测试

现在就可以用xj_xiaojin文件来连接了

$ ssh -i xjdemo_xiaojin  xj@172.25.1.230

ssh-demo-image8

或者把 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 default
        Full 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

好了教程就到这里结束了。

标签:king,xiaojin,pem,ssh,ubuntu,服务器,root,密钥
From: https://www.cnblogs.com/bugs-in-life/p/16881612.html

相关文章

  • 租服务器配置服务器环境
    租服务器配置服务器环境租服务器阿里云这里我买的是轻量级应用服务器2核2g,60一年服务器账号、用户、登录配置acterminal登录sshroot@服务器公网ip然后输入yes,输......
  • Linux网络通信(线程池和线程池版本的服务器代码)
    线程池介绍线程池:一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在......
  • Ubuntu看不到共享目录
     第一步:(可以跳过)在虚拟机Ubutnu/mnt/hgfs文件夹下找不到共享文件夹或者在Ubuntu终端中运行命令行:vmware-hgfsclien可以看到共享目录文件名 第......
  • 外网访问内网localhost web服务器
    在内网/局域网部署的web服务,只能在本地局域网内访问。要想在外网环境下也能够访问到,可以通过cpolar来实现【免费or付费】,不需要公网IP,也不需要进入到路由器,还不限制流量。......
  • 构建samba共享文件服务器
    拓扑图:推荐步骤:Ø 创建组名字benet,创建bob、tom、alice、marry将用户添加到benet组,安装samba服务器,bob、tom、alice为普通账户marry为管理员对所有目录有读取和写入权限Ø......
  • 搭建本地服务器,并免费内网穿透实现外网访问
    本篇教程主要将如何快速地搭建本地服务器,以及使用免费的内网穿透工具,实现外网访问内网服务器,将本地网站发布到外网可访问,方便进行微信公众号、小程序开发本地调试等。本篇......
  • 恒创科技:海外服务器和国内服务器哪个安全性更高?
    ​海外服务器和国内服务器哪个安全性更高?在这两种不同区域类型的服务器中,用户们经常会将它们从各种因素角度来进行对比,比如备案、速度、价格等方面,当然,还考虑到了两者......
  • 使用final shell 连接使用 ubuntu server linux
    书接上回,VM安装ubuntuserver:https://www.cnblogs.com/runliuv/p/16880599.html1.从https://www.hostbuf.com/下载FinalShellSSH工具,并安装。2.点击左上角文件夹图标,......
  • Ubuntu更改默认启动内核
    参考:https://blog.csdn.net/m0_37340681/article/details/97896696因为Ubuntu保持所有以前版本的内核。更新之后,更新GRUB配置以启动最新版本,并且可以在启动时在GRUB菜单......
  • NTP网络时间服务器为用户提供准确可靠的时间
    NTP网络时间服务器为用户提供准确可靠的时间NTP网络时间服务器为用户提供准确可靠的时间京准电子科技官微——ahjzsz因特网上的时间是非常重要的。网络时间服务器针对自......