ssh服务的开启、登录和免密

365bet手机客户端 admin 2026-07-22 07:31:04 阅读 3627

SSH(Secure Shell)是一个用于安全远程登录的协议。下面介绍如何在 Linux 系统中开启 SSH 服务、通过 SSH 登录以及配置免密码登录。

1. 开启 SSH 服务

在 CentOS/RHEL 中

安装 OpenSSH 服务器

sudo yum install openssh-server

启动并启用 SSH 服务

sudo systemctl start sshdsudo systemctl enable sshd

检查 SSH 服务状态

sudo systemctl status sshd

在 Ubuntu/Debian 中

安装 OpenSSH 服务器

sudo apt updatesudo apt install openssh-server

启动并启用 SSH 服务

sudo systemctl start sshsudo systemctl enable ssh

检查 SSH 服务状态

sudo systemctl status ssh

2. 通过 SSH 登录

使用 SSH 客户端从本地计算机连接到远程服务器。假设远程服务器的 IP 地址为 192.168.1.100,用户名为 user,可以使用以下命令登录:

ssh user@192.168.1.100

3. 配置 SSH 免密码登录

在本地生成 SSH 密钥对

在客户端机器上生成 SSH 密钥对。默认情况下,密钥对将保存在 ~/.ssh 目录中。

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

按提示操作,通常直接按回车键接受默认文件名和路径(~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub),并且可以选择设置或不设置密码短语。

将公钥复制到远程服务器

使用 ssh-copy-id 命令将公钥复制到远程服务器。这一步将公钥添加到远程服务器的 ~/.ssh/authorized_keys 文件中。

ssh-copy-id user@192.168.1.100

或者手动将公钥添加到远程服务器。在本地机器上,查看公钥内容:

cat ~/.ssh/id_rsa.pub

将输出内容复制,然后在远程服务器上执行以下步骤:

ssh user@192.168.1.100

mkdir -p ~/.sshecho "复制的公钥内容" >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keyschmod 700 ~/.ssh

测试免密码登录

现在可以从客户端机器无密码登录到远程服务器:

ssh user@192.168.1.100

4. 防火墙配置

确保防火墙允许 SSH 流量。

在 CentOS/RHEL 中

sudo firewall-cmd --permanent --add-service=sshsudo firewall-cmd --reload

在 Ubuntu/Debian 中

sudo ufw allow sshsudo ufw enable

总结

通过上述步骤,你可以在 Linux 系统中开启 SSH 服务、通过 SSH 登录以及配置 SSH 免密码登录。这可以大大提高远程管理的安全性和便利性。

相关文章