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-9IGE82N
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
测试
现在就可以用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证书连接服务器(已验证)相关推荐
- IOS 生成pem证书方法
具体步骤如下: 首先,需要一个pem的证书,该证书需要与开发时签名用的一致. 具体生成pem证书方法如下: 1. 登录到 iPhone Developer Connection Portal(http ...
- SFTP连接GCP,向服务器发送文件方法,第三方工具生成密钥对连接GCP服务器(putty生成密钥远程连接服务器)...
190223更新通过WinSCP工具导入key,向服务器发送文件方法: 很多时候需要向服务器发送文件,GCP和一般服务器不太一样,使用ftp和用户名密码不容易获取,一般采用秘钥的方式,下边介绍实现方法 ...
- OpenSSL创建生成CA证书、服务器、客户端证书及密钥
使用OpenSSL创建生成CA证书.服务器.客户端证书及密钥 目录 使用OpenSSL创建生成CA证书.服务器.客户端证书及密钥 (一)生成CA证书 (二)生成服务器证书 (三)生成客户端证书 (四) ...
- GNS3 cloud 连接错误_远程桌面连接服务器身份验证错误要求的函数不受支持
问题描述: 在远程桌面连接服务器的时候,出现以下错误 发生身份验证错误.要求的函数不受支持 而有的客户端连接到服务器没有这个问题,就是这个台客户端连接出现问题 解决方法: 一.在远程桌面客户端修改 开 ...
- putty使用.pem文件连接服务器
下载putty https://www.puttygen.com/download-putty 步骤一:使用puttygen将.pem文件转成.ppk文件 puttygen.exe和putty.exe ...
- 数字证书连接服务器异常,连接时Socket.io + SSL +自签名CA证书出现错误
我正在运行使用使用自签名CA证书创建的证书的https服务器. 现在,我想将Socket.io客户端连接到连接到https服务器的Socket.io服务器.不幸的是,我得到一个错误,告诉我: Erro ...
- Ubuntu下无法使用Secure_CRT连接服务器
虚拟机使用 1 .指令安装了SSH服务器 sudo apt-get install openssh-server 2. 输入命令 ps | grep ssh 查看SSH服务是否开启 显示服务已开启 3 ...
- ubuntu配置VNC远程连接服务器图形界面
简单介绍下,VNC(Virtual Network Computing)服务是一款优秀的屏幕分享及远程连接服务,基于RFB协议,使用C/S架构.此服务可保证你连接图形界面. 首先,我们需要搭建VNC服 ...
- 系统ubuntu使用网线怎么连接服务器,ubuntu怎么连接设置网络
Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的"ubuntu"一词,很多人使用ubuntu系统可能不知道怎么连接设置网络,下面是 ...
- 第三方工具生成密钥对连接GCP服务器(putty生成密钥远程连接服务器)
功能:方便ssh.ftp等方法登陆服务器,不用每次都输入密码,方便服务器文件传输. Putty是非常好用的终端,可以实现与服务器的各种通信,比较常用的是ssh通信. Putty下载地址:https:/ ...
最新文章
- python生成html报表_python生成HTMl报告(unittest)
- 引用另一个Android工程的方法详解
- jboss eap_带有自定义模块的JBoss EAP上的骆驼
- [ssh] remote host key has changed
- Python函数参数类型*、**的区别
- office 2016搜索联机模板是灰色的解决方案
- 数字化公安预审系统应用业务流程解析
- 可以代替专业CAD的《燕秀工具箱》V2.81版-模具设计外挂
- js简单图解冒泡排序
- MySQL——MySQL 图形化管理工具的介绍
- 农行笔试题之多少年后两国人均GDP相等
- python 正则匹配中re.match().group(num=0)
- 恒流源驱动电路 随笔一
- 计算机描绘的基因结构图,推荐一款好用的基因结构图在线绘制工具!
- Matlab基本函数-feather函数
- Python实现坦克大战(TankWar)游戏
- 在面试软件测试岗位时被问到最多的问题
- Mysql中时间格式转换
- 谁说Source Insight只能看C盘的文件?我有妙招!
- python爬虫 关键字_包含关键字 python 爬虫 的文章 - 科学空间|Scientific Spaces