在Linux(Ubuntu版本)下如何配置SSH远程访问

总体流程

1.设置防火墙,开启22号端口 2.生成公钥和私钥,设置密码 3.将公钥激活,配置给linux

一. 设置防火墙,开启22号端口:

登录到您的云服务器:使用SSH或者其他远程登录工具登录到您的云服务器。这通常需要您知道服务器的IP地址、用户名和密码。 确认是否已经开启了SSH服务:大多数Linux服务器默认会安装并启动SSH服务。您可以通过运行以下命令来确认SSH服务是否正在运行:

sudo systemctl status ssh # 检查ssh是否运行

如果服务正在运行,您会看到相关的活动信息;如果没有运行,您可以通过以下命令启动SSH服务:

sudo systemctl start ssh # 启动SSH服务

允许22号端口通过防火墙:如果您的服务器上启用了防火墙,您需要允许来自外部网络的SSH连接。大多数Linux发行版使用的是iptables或者firewalld。下面是两种常用的方法:

如果您使用的是iptables,您可以执行以下命令来允许SSH流量通过22号端口:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许22号端口通过防火墙

如果您使用的是firewalld,则可以执行以下命令:

sudo firewall-cmd --zone=public --add-port=22/tcp --permanent

sudo firewall-cmd --reload

重启SSH服务(如果需要):在某些情况下,修改防火墙规则后可能需要重启SSH服务,以便使更改生效。您可以运行以下命令来重启SSH服务:

sudo systemctl restart ssh # 重启ssh服务

测试连接:现在您已经允许了22号端口通过防火墙,并且SSH服务正在运行,您应该能够通过SSH客户端连接到您的云服务器。您可以使用类似于以下的命令进行连接:

ssh username@your_server_ip #用客户端测试ssh是否连接成功

其中 username 是您的服务器用户名,your_server_ip 是您的服务器IP地址。

请注意,开放22号端口会增加您服务器受到恶意攻击的风险,因此请务必采取必要的安全措施,如使用强密码、使用SSH密钥等。

二.生成公钥与私钥并设置私钥的密码

在Ubuntu系统中生成SSH密钥对非常简单。可以通过以下步骤完成:

打开终端。您可以使用Ctrl + Alt + T快捷键打开终端。在终端中输入以下命令来生成SSH密钥对:

ssh-keygen -t rsa -b 4096 # 生成基于RSA算法生成一个4096位长度的SSH密钥对

这将使用RSA算法生成一个4096位长度的SSH密钥对。您也可以选择其他算法和不同的密钥长度,但RSA 4096是一个常用的安全选择。

您将被提示输入要保存密钥的文件位置。如果您想将其保存在默认位置(通常是~/.ssh/id_rsa),只需按Enter键即可。接下来,您将被要求输入一个密码来保护您的私钥。这是可选的,但强烈建议设置一个密码以增强安全性。输入密码后,按Enter键。现在,SSH密钥对已经生成。您可以在~/.ssh/目录下找到它们。默认情况下,这两个文件的名称为id_rsa(私钥)和id_rsa.pub(公钥)。 这样就完成了SSH密钥对的生成。私钥文件(id_rsa)是您的私有密钥,需要妥善保管。公钥文件(id_rsa.pub)可以共享给其他人或用于配置远程服务器的身份验证。

三.激活公钥,配置给linux服务器

在生成SSH密钥对后,您需要将公钥 (id_rsa.pub 文件的内容) 添加到远程服务器的 ~/.ssh/authorized_keys 文件中(使用cp命令将id_rsa.pub复制进~/.ssh/authorized_keys 文件中)。这样远程服务器就知道了您的公钥,可以使用它来验证您的身份。

以上内容基于chatgpt 3.5 创作整理

推荐文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。