SSH 密钥认证是什么?与用户密码登录相比,SSH 密钥认证更安全,因为只有拥有密钥的人才能连接 , 并且密钥通过不同的算法进行了很好的加密 。它还通过无密码登录使 SSH 连接变得简单 。
这个搞两个方案,一个是自己需要登录到服务器 , 一个是开账号给别人登录到服务器
个人的方案客户端生成密钥对
大多码农都是windows系统,这里就以windows来演示了 。在windows系统 , 按
ctrl+r
, 直接输入cmd文章插图
然后在打开的命令行窗口中 , 直接进入
.ssh
目录$ cd .ssh
文章插图
【已验证 ubuntu生成pem证书连接服务器】运行命令生成密钥对(您可以使用现有密钥或生成新密钥对)
$ 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.pubssh-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_xiaojinxj@172.25.1.230
文章插图
或者把 xj_xiaojin重命名为 xj_xiaojin.pem
$ ssh -i xj_xiaojin.pemxj@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
好了,教程这到这里结束了
推荐阅读
- 三星zflip3最新消息_三星zflip3最新消息曝光
- fltp备份文件后统计验证
- iphone已停用怎么刷机不用电脑(iphone已停用不刷机怎么解决)
- 五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
- DNF普通装备上能打红字吗?怎么打(dnf已经洗出来红字了怎么消除)
- 永久解决Ubuntu下adb权限问题
- wifi如何手机上防止别人蹭网(手机wifi已连接但不可上网)
- 奥比岛手游验证猜想第三章要怎么通关
- Android 跨进程渲染
- 有油款 “倩碧黄油”——————真假辨别 上次的兰蔻粉水鉴别方法已经分享过了