Debian系统设置SSH密钥登陆

如果没有安装ssh,root权限运行apt install openssh-server进行安装。

bash 复制代码
ssh-keygen -t rsa  # 生成配对密钥,后续一路enter即可

会在用户目录(即~这个)下生成.ssh文件夹,里面的id_rsa是私钥,id_rsa.pub是公钥。

输入cd ~/.ssh/进入.ssh文件夹中,将公钥写入到authorized_keys中,将id)rsa下载并保存好。

bash 复制代码
touch authorized_keys
cat id_rsa.pub >> authorized_keys # 写入公钥写入

此时,还需要给文件相应的权限,不然可能无法正常工作

bash 复制代码
chmod 600 authorized_keys
chmod 700 ~/.ssh

现在密钥已经配对好了,还需要修改ssh的配置文件,打开/etc/ssh/sshd_config文件,修改其中的关键文件

bash 复制代码
PubkeyAuthentication yes # yes表示允许密钥登陆
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2 # 指定密钥的文件位置
PasswordAuthentication no # 不允许使用密码登陆,等测试密钥登陆成功了再修改此条,以防无法登陆

到此,SSH密钥登陆就配置完成了,重启ssh服务即可

bash 复制代码
systemctl restart ssh

除此之外,我习惯性更改端口,并且禁止root用户用户登陆

bash 复制代码
Port 12345 # 把默认的22端口改了
PermitRootLogin no # 禁止root用户登陆
相关推荐
Linux运维技术栈1 小时前
Ansible(自动化运维)环境搭建及ansible-vault加密配置
运维·自动化·ansible
Bessssss2 小时前
centos权限大集合,覆盖多种权限类型,解惑权限后有“. + t s”问题!
linux·运维·centos
苹果醋33 小时前
Golang的文件加密工具
运维·vue.js·spring boot·nginx·课程设计
jwensh3 小时前
【Jenkins】Declarative和Scripted两种脚本模式有什么具体的区别
运维·前端·jenkins
大熊程序猿4 小时前
xxl-job docker 安装
运维·docker·容器
董健正4 小时前
centos制作离线安装包
linux·运维·centos
咏颜5 小时前
Ubuntu离线安装Docker容器
linux·运维·服务器·经验分享·ubuntu·docker
DexterLien6 小时前
Debian 12 安装配置 fail2ban 保护 SSH 访问
运维·debian·ssh·fail2ban
娶不到胡一菲的汪大东6 小时前
Shell脚本
linux·运维·ubuntu
xserver26 小时前
ensp 基于静态NAT发布公司网站服务器,
运维·服务器