当你试图使用SSH连接到你的网站时,得到一个 “连接拒绝”的错误?这是使用PuTTY等SSH登陆程序访问你的网站服务器时出现的最常见的问题之一。不要担心!虽然它可能看起来令人不知所措,但要自己解决这个问题很容易。你只需要运行一些测试并尝试一些不同的设置。在这篇文章中,搬主题将简要地谈一谈什么是SSH。然后,我们将检查SSH的 “连接拒绝”错误,看看什么原因会导致它。最后,我们将告诉你如何解决这个问题。一、什么是SSH在我们深入研究解决这个问题之前,让我们简单回顾一下什么是SSH。安全外壳(SSH)是一种网络协议,用于访问网络服务器。简而言之,它允许你使用安全加密连接到你的网站,即使是通过不安全的网络。SSH经常与FTP/SFTP相提并论,后者也是连接到你的网站的一种方式。FTP(文件传输协议)是用来通过TCP/IP网络在计算机之间传输文件。FTP的主要问题是,它是不加密的。一个坏的行为者可以劫持你的连接并操纵你服务器上的文件。为了解决这个问题,人们发明了SFTP。SFTP是安全文件传输协议或SSH文件传输协议的缩写,其工作方式与普通FTP类似。然而,它是通过一个安全的连接,而不是一个未加密的连接来实现的。为了使你的连接安全,SFTP使用SSH,这是一种更广泛的技术。因此,SFTP运行在SSH的 “顶部”。虽然FTP/SFTP仅限于文件管理,但SSH允许你做一些其他任务。这些包括…远程命令行。如果你想使用命令行界面(CLI)而不是默认的GUI,你可以通过SSH来实现。事实上,你甚至可以通过命令行来激活你的Astra许可证!登录。被锁在你的WordPress网站之外?你实际上可以使用SSH来登录。远程命令执行。想在你的服务器上远程执行命令?用SSH不是问题。使用WordPress的开发者工具。这些工具包括WP-CLI,Git版本控制,以及PHP和JavaScript的包管理器,仅举几例。删除受损或被黑的文件。如果你的网站被黑了,你可以使用SSH来查看任何最近修改的文件,看看它们是否包含恶意代码。最终,FTP/SFTP是一种向/从服务器传输和管理文件的方式,而SSH是一种访问服务器的安全协议。二、什么是PuTTY如果你试图通过SSH访问你的网站,你正在使用PuTTY-最流行的SSH客户端。PuTTy安装在你的本地计算机上,并安全地连接到你的虚拟主机服务器上的SSH守护程序。两者之间发送的所有流量都是加密的,不会被人窥视。虽然PuTTY是最流行的SSH客户端,但也有其他选择。三、什么是SSH的 “连接拒绝 “错误如果你试图使用SSH,”连接拒绝 “错误是你必须处理的最常见的错误之一。但它是什么意思呢?连接被拒绝的意思正是它所说的。它意味着连接无法正常完成或你使用的登录信息不正确。这个错误有几个不同的潜在原因。让我们简单介绍一下每一个原因:你的网络有问题。如果你的网络在性能上有问题,那么SSH可能也会受到影响。凭证是错误的。如果你的主机名、用户名、密码或端口不正确,SSH将无法连接。没有安装SSH。虽然SSH通常预装在虚拟主机上,但一些专用主机计划需要你手动安装。SSH被关闭。有几个原因可能导致SSH停机,包括DDoS攻击或流量太大。防火墙阻止访问。大学、公司办公室和学校通常会阻止22号端口的流量,这是用于SSH的端口。四、如何修复SSH “连接被拒绝 “的错误现在,让我们走过一些不同的解决方案。如果你不确定哪一个最有可能成功,就从最上面开始,然后再往下看。1. 检查你的网络连接虽然这可能看起来很明显,但检查一下也无妨! 你的网络连接是否运行良好?你是否能够访问其他网页而没有任何问题?你的网站是否正确加载?确保一切按预期工作。解决方案如果不是这样,有几件事你可以试试。重新启动你的路由器和/或电脑。如果可能的话,通过一个不同的网络位置测试连接。使用你手机上的系留互联网连接是一个快速的方法。最后,看看其他网络服务(如SFTP)是否正常。2. 仔细检查你的证书连接工作正常吗?你的登录凭证怎么样了?使用错误的凭证是导致连接不正常的最常见原因。解决办法你需要确保一些事情是准确的。主机名主机名是你的完整域名(Fully-Qualified Domain Name或FQDN)或你的IP地址。不确定你的IP是什么?请使用这个漂亮的工具。用户名对于用户名,您需要输入您的FTP/SFTP用户名。通常情况下,这可以在您的虚拟主机面板内和/或在您购买计划时主机发送的电子邮件中找到。密码同样,这也是你的FTP/SFTP账户的密码。如果你找不到它,请在你的主机面板上查找。3. 重新启动你的服务器你是在一个专用的服务器上吗?或者是你实际拥有你的服务器?解决方案尝试重新启动你的服务器。这通常可以解决连接问题。只是要确保重启不会影响访客,如果你在其中运行你的网站的话。4. 确保SSH已经安装完毕为了使SSH工作,它需要在服务器上安装一个称为守护程序的程序,以便PuTTY连接到。这是一个很小的程序,它监听传入的连接,然后接受它们,如果凭证是正确的。几乎所有的服务器都会安装这个守护程序,特别是如果你使用的是一个有管理的WordPress主机。但是,如果你使用的是专用主机,你可能需要自己安装它。解决方案具体的安装过程将取决于你的主机和服务器。如果你想在Linux Ubuntu服务器上手动安装它,你需要使用OpenSSH。如果你是SiteGround的用户,你可以通过进入网站工具 > 开发人员 > SSH密钥管理器来轻松启用SSH。在那里,输入一个密钥名称并生成一个随机密码,然后按 “创建”。一定要写下这些证书,因为你需要它们来访问你在PuTTY的网站。你可以在SiteGround的网站上阅读整个教程。在cPanel中,你需要进入高级>SSH/Shell访问,输入所需信息,然后点击生成。其他主机也有类似的添加SSH密钥的过程。5. 确保SSH工作正常如上所述,你需要安装一个守护程序来通过SSH连接。如果它不工作,你将无法访问你的服务器。有许多原因可能导致守护进程没有反应,如主机问题、DDoS攻击或大量的流量。解决方案要检查你的守护进程是否正在运行,你需要在PuTTY中输入一个命令。哪一条?这取决于你的服务器和它所使用的特定Linux安装。Linux是虚拟主机供应商最受欢迎的操作系统。请注意,这不是你的个人电脑,而是你所连接的网站的服务器。分布情况命令系统环境 (Arch, Ubuntu 16.04+, Debian 8+, CentOS 7+, etc)sudo systemctl status sshd -lCentOS 6sudo service sshd statusUbuntu 14.04, Debian 7sudo service ssh status如果你得到一个错误信息,那么很可能你已经找到了问题的根源。潜在的修复方法包括。验证你的主机名是否拼写正确使用ping命令来验证你能在你的客户电脑(你试图连接的那台)上解析主机名检查防火墙状态和封锁的端口重新启动你的守护程序6. 端口和防火墙如果你是从大学、公司校园或其他大型组织登录的,很可能是防火墙阻止了22号端口。解决方案要看它是否是,请使用这个工具。只需添加你的域,确保22被列为端口,然后按检查。如果连接测试成功,这意味着问题出在你的电脑或连接上,而不是出在端口上。检查防火墙规则或与你的网络系统管理员取得联系。7. 联系你的主机商仍然有问题?是时候联系你的主机商了! 他们很可能可以帮助你。五、最后总结SSH是一项强大的技术,学习如何使用它是非常值得你花时间的。它允许你安全地访问你的网站,管理文件,运行进程,并做一些其他有用的任务。希望你使用本指南已经解决了 “连接拒绝 “的错误。虽然这个问题可能看起来令人困惑,但它并不难解决。你只需要运行我们上面提到的一些测试。
THE END