Linux上的SSH远程访问基础教程
SSH是一种常用的远程登录协议,可以在网络上通过安全隧道进行加密通讯。本文将介绍如何在Linux操作系统上配置SSH服务器和SSH客户端,以便进行远程访问。
1. 配置SSH服务器
在Linux操作系统中,SSH服务器通常是通过OpenSSH软件包来实现。在大多数Linux发行版中,OpenSSH软件包都已经预装了。如果没安装,可以通过以下命令安装:
$ sudo apt-get install openssh-server # Ubuntu/Debian
$ sudo yum install openssh-server # CentOS/RHEL
安装完成后,可以通过以下命令来启动和停止SSH服务:
$ sudo systemctl start ssh # 启动SSH服务
$ sudo systemctl stop ssh # 停止SSH服务
同时,可以通过以下命令来验证SSH服务状态:
$ sudo systemctl status ssh # 打印SSH状态
默认情况下,SSH服务将监听已开启的TCP 22端口,并允许身份验证密码和密钥。您可以考虑更改默认端口为避免被攻击。为此,您可以在/etc/ssh/sshd_config
中指定新端口:
Port 2222
然后重启SSH服务:
$ sudo systemctl restart ssh
此时,SSH服务器的设置工作已经完成。
2. 配置SSH客户端
要通过SSH连接到远程服务器,您需要在本地计算机上安装SSH客户端。在Linux和Mac OS X中,通常是使用内置的终端应用程序。在Windows中,有许多SSH客户端可供选择,比如PuTTY。
下面是Linux和Mac OS X中使用SSH客户端的步骤:
- 打开终端
- 输入以下命令:
$ ssh user@ip-address
其中,user
是您要连接的用户名称,ip-address
是目标服务器的IP地址或主机名,此处假设SSH服务器已经配置好,并且在默认端口(22)上运行。如果您在步骤1中更改了SSH服务器的端口,则可以在命令行中指定新端口:
$ ssh -p 2222 user@ip-address
-
如果目标服务器之前未连接过,则会提示您确认目标服务器的指纹。如果您信任目标服务器,可以输入”yes”以继续连接。
-
如果目标服务器要求您输入密码,则输入该密码。如果您已将公钥复制到目标服务器上,则可能不会提示密码。
-
连接成功后,您应该可以在控制台中看到目标服务器的终端。
3. SSH密钥登录
使用SSH密钥进行登录是更加安全和方便的方法,因为它不需要输入密码。SSH客户端和服务器使用公共/私有密钥对验证身份,而不是使用密码。
要使用SSH密钥进行登录,请按照以下步骤进行操作:
- 生成新的密钥对。在本地计算机上打开终端,并输入以下命令:
$ ssh-keygen -t rsa -b 4096
这将在本地计算机的~/.ssh
文件夹中生成一个新的密钥对。
- 将公钥复制到SSH服务器。在上一步中生成的公钥可以通过以下命令复制到SSH服务器上:
$ ssh-copy-id user@ip-address
这将将您的公钥添加到SSH服务器的~/.ssh/authorized_keys
文件中。如果您已经将公钥复制到目标服务器上,则不需要再次复制。
- 现在,您可以通过以下方式使用SSH密钥登录:
$ ssh -i ~/.ssh/id_rsa user@ip-address
这将使用本地计算机中的私钥进行身份验证。
结论
本文简要介绍了如何在Linux系统上设置和使用SSH服务器和客户端。使用SSH协议,您可以在保护的安全隧道内与Linux服务器进行交互。通过这篇文章,您应该已经掌握了基本的SSH技能。