树莓派ssh连接使用公钥免密登录
之前将树莓派做了内网穿透,然后为了防止ssh被暴力破解,以下是我给自己的树莓派400创建了一个ssh公钥的完整过程。
1. 制作公钥
创建公钥我们要使用到 ssh-keygen
#命令格式
ssh-keygen -m PEM -t rsa -b 4096 -f ~/.ssh/filename
参数说明:
-m 参数指定密钥的格式,PEM(也就是RSA格式)是以前使用的旧格式,很多ssh客户端都用这个格式。
-t:指定要建立的密钥类型
-b:指定密钥长度
-f:指定用来保存密钥的文件名 (~/.ssh/filename)
配置过程:
pi@raspberrypi400: ssh-keygen -m PEM -t rsa -b 4096 -f ~/.ssh/Rpi400.pem
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): < 输入公钥密码
Enter same passphrase again: < 再次输入公钥密码
Your identification has been saved in /home/pi/.ssh/Rpi400.pem
Your public key has been saved in /home/pi/.ssh/Rpi400.pem.pub
The key fingerprint is:
SHA256:/ugJzv8c7MYu/cvk3Wf6bkKAzWAxWfFjwSJ9nuIBtUw pi@raspberrypi400
The key's randomart image is:
+---[RSA 4096]----+
| o*Eo. |
| *+ooo. |
| . Bo++. |
| . *.o. |
| S . + |
| . . . . |
| . .oo .. |
| o ..*+= ...+|
| oo==*.=.oB=|
+----[SHA256]-----+
公钥成功创建,文件所在位置:/home/pi/.ssh/
2. 安装公钥
完成公钥的安装后,为确保连接成功,文件权限也要确保配置正确。
cd .ssh
cat Rpi400.pem.pub >> authorized_keys
chmod 600 authorized_keys
chmod 700 ~/.ssh
3.下载公钥
如果不知道怎么下载的可以先安装Lrzsz,lrzsz是一款在linux里可代替ftp上传和下载的程序。
sudo apt install lrasz -y
# 下载公钥文件
cd ~/.ssh
sz Rpi400.pem
4.修改SSH配置
sudo nano /etc/ssh/sshd_config
# 找到下面这行将注释符号 # 删除
# PubkeyAuthentication yes
Ctrl + O 回车保存
Ctrl + X 回车退出
重启ssh服务:
sudo service sshd restart
5.使用公钥登录
我使用的ssh客户端是 finalshell
配置界面如下
配置完后登录测试正常。
6.禁用ssh密码登录
如果您的设备暴露在公网上,当你完成全部设置,并以密钥方式登录成功后,可以禁用密码登录功能,加强其安全性防止ssh暴力破解:
sudo nano /etc/ssh/sshd_config
找到
#PasswordAuthentication yes
改为
PasswordAuthentication no
重启ssh服务:
sudo service sshd restart
树莓派ssh连接使用公钥免密登录相关推荐
- mac、Linux SSH 阿里云 vultr免密登录服务器
mac.Linux SSH 阿里云 vultr免密登录服务器 当你拥有了自己云服务器的时候,一定为了每次登录服务器输入密码特别痛苦. 那么福利来了,简单配置一下,免密登录你的服务器,希望能帮到大家 注 ...
- SSH详解以及免密登录配置,深入理解
前面是理论基础,后部分是免密搭建详细步骤. Secure Shell Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,目的是在不安全的网络中为网络服务提供安全的传输环境. ...
- macos配置ssh别名登陆并免密登录
本机配置 文件路径:cd ~/.ssh 编辑config,如果没有新建:touch confing 内容如下 # 输入ECS实例的别名,用户SSH远程连接. Host my_server # 输入EC ...
- Vscode连接Linux远程终端(免密登录)
环境 本地 Windows 远程Linux 一.下载 VSCode.Git 软件 二.VSCode 安装 Remote Development 扩展 三.打开git bash,生成本地密钥对.利用rz ...
- ssh集群服务器免密登录
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 现在有两个服务器,ip分别为172.16.0.230和172.16.0.221 修改服务器的hostname 在172.16.0.230上修改/etc ...
- linux添加ssh公钥免密登录
思路 (比如我的电脑是MY,我想免密码登录Remote) 在MY的机器生成一个rsa公钥 在Remote的~/.ssh/authorized_keys文件中添加MY的rsa公钥 在MY上使用ssh登录 ...
- Mac使用ssh公钥免密登录服务器
每次登陆服务器都要输入密码,重复无用的操作让人心生厌烦."懒人是推动社会进步的动力",我的宗旨就是能自动的就不要手动. 下面就像大家介绍我是如何打造无密码登录服务器: 1. 生成公 ...
- 华为/华三交换机配置SSH免密登录
数据通信 - 建设篇 第二章 华为/华三交换机配置SSH免密登录 数据通信 - 建设篇 系列文章回顾 下章内容 华为/华三交换机配置SSH免密登录 背景介绍 实施步骤 堡垒机Linux后台使用ssh- ...
- linux上ssh免密登录原理及实现
因为我的服务器集群需要回收日志到中央进行统一处理,所以需要建立ssh互信关系实现免密登录.关于ssh的使用大家可能都很熟悉了,我们今天主要来讲下ssh连接和免密登录的原理. scp 传输文件 scp( ...
最新文章
- mysql5.6更改datadir数据存储目录
- openssl生成证书linux,linux中openssl生成证书和自签证书linux操作系统 -电脑资料
- if java_Java 条件语句
- 博为峰JavaEE技术文章 —— Hibernate域模型(2)
- Git迁移 从SVN到Git
- 基于Sql Server 2008的分布式数据库的实践
- Java中抽象类和接口的区别(来源一)
- 吴恩达《机器学习》第十四章:降维
- 一起来学Masonry (一)
- 数据结构(c语言版)各章内容总结
- 98版本QQ五笔词库转98版万能五笔词库
- c语言输出100以内素数用函数,用C语言 输出100以内的素数,
- Linux-基础部分
- 对标阿里P6-P7高级Java程序员的进阶技术路线
- Codeforces140CNew Year Snowmen
- 基于HyperLPR的车牌识别
- ENSP华为模拟器:基础命令及简写
- 他很惊讶_局座您是来参加云栖大会吗?
- 海康API返回Json值获取
- zsh与bash区别