配置服务器免密登录

一、开启ssh登录权限

ssh,secure shell protocol,以更加安全的方式连接远程服务器。

bash 复制代码
# ssh 命令 172.16.3.2 为服务器外网IP
ssh root@172.16.3.2

二、免密登录:public-key 与 ssh-copy-id

如何实现远程服务器的免密登录需要两个条件:

  1. 两个文件:本地环境的 ~/.ssh/id_rsa.pub 与 远程服务器的 ~/.ssh/authorized_keys
  2. 一个动作:把本地文件 ~/.ssh/id_rsa.pub 中内容复制粘贴到远程服务器 ~/.ssh/authorized_keys

「总结成一句话,把自己的公钥放在远程服务器的 authorized_keys 中」

简单来说,就是 Ctrl-CCtrl-V 操作,不过还有一个更加有效率的工具:ssh-copy-id

此时一个解决生产力的命令行工具应运而生:ssh-copy-id

bash 复制代码
ssh-copy-id root@101.200.86.164

配置完成后

bash 复制代码
ssh root@172.16.3.2

三、安全性:禁用密码登录

为了更大保障服务器的安全性,这里禁止密码登录。修改云服务器的 sshd 配置文件:/etc/ssh/sshd_config 。其中 PasswordAuthentication 设置为 no,以此来禁用密码登录。

四、保持连接,防止断掉

除此之外,还可以通过一些配置来更好地优化连接服务器时的体验。

可以通过man ssh-config,找到每一项的详细释义。

bash 复制代码
# 编辑 ~/.ssh/config

Host *
  ServerAliveInterval 30
  TCPKeepAlive yes
  ServerAliveCountMax 6
  Compression yes
相关推荐
何以解忧,唯有..5 分钟前
高并发下超卖问题解决方案:从数据库到分布式锁的完整实践
java
峰向AI18 分钟前
Notion 太贵?这个 40K Star 的开源知识库,让你零成本搭建团队 wiki
github
行者全栈架构师18 分钟前
Spring Boot 接入 MaxKey 单点登录:6 个内部系统,一次登录全通行
java·vue.js·后端
名字还没想好☜24 分钟前
Docker 网络实战:bridge/host/none/自定义网络、容器互通与端口映射踩坑
运维·docker·kubernetes
fengyehongWorld26 分钟前
Linux squid搭建基础代理服务器
linux·运维·服务器
木白CPP35 分钟前
Linux DMA驱动详解(二)-----DMA的使用者
java·linux·运维
caoerzhong39 分钟前
JeeWMS 开源仓库管理系统 GPL-3.0 合规指南:Java WMS 二次开发前必须弄清的授权边界
java·开发语言·开源·vue
Sam_Deep_Thinking1 小时前
单一职责原则:JAVA LocalDate的设计取舍
java·后端·程序员·单一职责原则
杨杨杨大侠1 小时前
Java 不再需要 JVM?一文看懂 GraalVM Native Image、Substrate VM 与 JDK
java·jvm·java ee
逛逛GitHub1 小时前
37K Star 的 GitHub 开源项目开放 AI 网关,10 人团队免费用。
github