如何在Linux系统中创建SSH连接?

在Linux中创建SSH密钥对,使用ssh-keygen命令,按提示操作即可。

Linux 创建 SSH

linux 创建ssh

SSH(Secure Shell)是一种加密网络协议,用于在不安全的网络上安全地操作远程计算机,本文将详细介绍如何在 Linux 系统上创建 SSH 连接,并配置相关参数。

安装 OpenSSH

我们需要在本地和远程计算机上安装 OpenSSH 软件包,大多数 Linux 发行版都默认包含 OpenSSH 客户端,但可能没有安装服务器端,以下是一些常见的安装命令:

Ubuntu/Debian

sudo apt update
sudo apt install openssh-server

CentOS/RHEL

sudo yum install openssh-server

Fedora

sudo dnf install openssh-server

启动和启用 SSH 服务

安装完成后,需要启动并设置 SSH 服务在系统启动时自动运行。

启动 SSH 服务

linux 创建ssh
sudo systemctl start sshd

设置开机自启

sudo systemctl enable sshd

配置 SSH 服务

SSH 的配置文件通常位于/etc/ssh/sshd_config,你可以使用文本编辑器如vimnano 来编辑这个文件。

sudo vim /etc/ssh/sshd_config

修改常用配置项

配置项 说明
Port 修改默认端口号(Port 2222)
ListenAddress 绑定地址(ListenAddress 0.0.0.0)
PermitRootLogin 是否允许 root 用户登录(建议设置为 no)
PasswordAuthentication 是否允许密码验证(可以设置为 no,强制使用密钥认证)
PubkeyAuthentication 是否允许公钥认证
AllowUsers 允许登录的用户(AllowUsers alice bob)
AllowGroups 允许登录的用户组(AllowGroups sshusers)

保存并关闭文件后,重新启动 SSH 服务使配置生效。

sudo systemctl restart sshd

生成 SSH 密钥对

为了提高安全性,推荐使用 SSH 密钥对进行认证,而不是密码,可以使用以下命令生成密钥对:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

执行上述命令后,会提示你输入文件保存路径和密码短语(passphrase),按回车即可使用默认值,生成的密钥对包括公钥和私钥,默认保存在~/.ssh/id_rsa~/.ssh/id_rsa.pub

配置公钥认证

将生成的公钥复制到远程服务器上的~/.ssh/authorized_keys 文件中,可以使用ssh-copy-id 命令简化这个过程:

linux 创建ssh
ssh-copy-id user@remote_host

如果远程主机的~/.ssh 目录不存在,你需要手动创建并设置正确的权限:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

测试 SSH 连接

一切配置完成后,可以使用以下命令测试 SSH 连接:

ssh user@remote_host

首次连接时,会提示你是否信任该主机的指纹,输入yes 后按回车即可。

高级配置

使用 SSH 代理

SSH 代理可以使你在多个终端会话中复用一个身份验证,而不需要每次都输入密码或密钥短语,可以使用以下命令启动 SSH 代理:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

配置多重跳转(SSH 隧道)

有时你需要通过多个中间服务器才能到达目标服务器,这可以通过 SSH 隧道实现,通过bastion 主机跳转到target 主机:

ssh -J user@bastion ssh user@target

故障排除

无法连接到 SSH 服务

检查 SSH 服务状态:

sudo systemctl status sshd

确保防火墙允许 SSH 端口(默认是22):

sudo ufw allow 22/tcp

权限问题

确保~/.ssh 目录及其父目录的权限正确:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

FAQs

Q: 如何更改 SSH 默认端口?

A: 编辑/etc/ssh/sshd_config 文件,找到Port 配置项,将其改为所需的端口号(Port 2222),然后重启 SSH 服务:sudo systemctl restart sshd

Q: 如何禁用密码认证,只使用密钥认证?

A: 编辑/etc/ssh/sshd_config 文件,将PasswordAuthentication 设置为no,然后重启 SSH 服务:sudo systemctl restart sshd,确保你已经配置了公钥认证。

小伙伴们,上文介绍了“linux 创建ssh”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1334309.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-11-19 23:15
下一篇 2023-12-20 14:44

相关推荐

  • 如何正确使用ASP文件注释?

    在ASP文件中,注释用于添加解释性文字到代码中,以帮助其他开发者理解代码的功能。ASP支持两种类型的注释:单行注释和多行注释。单行注释使用 ‘ 或 –,而多行注释则使用 “ 结束。

    2024-11-19
    00
  • 如何编写ASP文件操作代码?

    在 ASP(Active Server Pages)中,文件操作通常使用 FileSystemObject 对象。以下是一个简单的示例代码,用于读取和写入文本文件:,,“asp,,“,,这段代码首先创建一个 FileSystemObject 对象,然后打开一个名为 “example.txt” 的文件进行读取,并将内容显示在网页上。它再次打开同一个文件进行写入操作,并关闭文件。

    2024-11-19
    00
  • ASP中的文字处理是如何实现的?

    ASP是一种服务器端脚本语言,用于创建动态网页和Web应用程序。它支持多种数据库连接,并可以与HTML、CSS和JavaScript等前端技术结合使用。

    2024-11-19
    00
  • 如何在ASP中实现文字特效?

    ASP 中的文字特效可以通过 CSS 和 JavaScript 实现,如旋转、阴影等。

    2024-11-19
    00

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入