Linux自定义SSH配置文件以及免密登陆

Linux自定义SSH配置文件以及免密登陆

引言

SSH(Secure Shell)是一个用于在不安全的网络中提供安全通信的协议。它在设计上用加密技术构建一个安全的通道,以确保远程登录和文件传输的安全。SSH通常用于安全地访问和管理远程服务器,执行命令,以及上传或下载文件。为了提高效率,自定义SSH配置文件和实现免密登录是日常工作中的常用优化技巧。本文将会带你了解如何在Linux系统中自定义SSH配置以及设置免密登录。

SSH配置文件

SSH客户端的配置文件通常位于用户home目录的.ssh文件夹内,主要有两个文件:config 和 known_hosts。config 文件用于存储SSH连接的配置,如主机别名、用户名、端口(SSH默认使用TCP端口22)等;而 known_hosts 记录了曾经连接过的远程主机指纹信息,用于身份验证。

自定义SSH配置可以帮助我们更快捷地连接到常用的远程服务器,而不需要每次都输入长串的命令行参数。

首先在.ssh文件夹内创建一个名为config的文件:

复制代码
vim .ssh/config

以下是一个自定义配置的示例:

bash 复制代码
Host myserver
    HostName 192.168.1.100
    Port 22
    User myuser

在这个配置中,我们为IP地址为192.168.1.100的远程服务器设置了一个别名myserver,指定了默认登录用户名myuser。有了这个配置,我们只需通过ssh myserver命令即可登录远程服务器。

SSH免密登陆

通过上文配置好文件后,发现每次输入ssh myserver命令登录远程服务器需要输入密码,不仅麻烦,而且时间久了容易遗忘,本章将讲述如何免密登陆远程服务器。

免密登录指的是利用SSH的公钥认证机制,避免在每次登录时输入密码。为了实现免密登录,我们需要在本地生成一对RSA密钥(公钥和私钥),并将公钥添加到远程服务器的授权文件中。

生成本机的密钥文件

打开本机的终端,输入ssh-keygen,默认点enter。在.ssh目录下会生成一个名为id_rsa.pub的文件。

发送公钥至服务器

在服务器的.ssh目录下,将公钥追加入key文件中:

复制代码
cat id_rsa.pub >> authorized_keys

(若是没有 authorized_keys 这个文件,请创建touch .ssh/authorized_keys

本机测试

在本机输入

复制代码
ssh myserver

可以发现无需输入密码即可登陆远程服务器。

内容拓展

VSCode的ssh连接服务器:https://blog.csdn.net/weixin_43603658/article/details/133757720

相关推荐
YongCheng_Liang10 分钟前
ELK 自动化部署脚本解析
linux·运维·elk·jenkins
小白博文11 分钟前
MobaXterm调用远程服务器(Linux)图形化界面应用
linux·运维·服务器
不会写代码的里奇26 分钟前
VMware Ubuntu 22.04 NAT模式下配置GitHub SSH完整教程(含踩坑实录+报错_成功信息对照)
linux·经验分享·笔记·git·ubuntu·ssh·github
百***670330 分钟前
Nodemailer使用教程:在Node.js中发送电子邮件
linux·运维·node.js
ddacrp36 分钟前
RHEL_NFS服务器
linux·服务器·网络
码界奇点1 小时前
Linux进程间通信三System V 共享内存完全指南原理系统调用与 C 封装实现
linux·c语言·网络·c++·ux·risc-v
ZHANG13HAO2 小时前
RV1106 通过 4G 网络基于 libdatachannel 实现 WebRTC 实时视频传输”
linux
..过云雨2 小时前
13.【Linux系统编程】从ELF格式深入理解动静态库
linux·c语言·c++·后端
一名机电研究生2 小时前
华为、阿里巴巴、字节跳动 100+ Linux面试问题总结(一)
linux·华为·面试
讨厌下雨的天空2 小时前
环境变量与地址
linux