ssh:连接到主机 xxx.xxx.xxx.xxx 端口 22:连接被拒绝

ssh:连接到主机 xxx.xxx.xxx.xxx 端口 22:连接被拒绝

我正在尝试使用这个命令通过 ssh 连接到客户端计算机

ssh root@服务器ip

它立即给我带来了这个错误

ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused

然后我尝试使用相同的命令访问本地服务器,结果成功了。

为了进一步的实验,我尝试做

远程控制[电子邮件保护]

它显示了同样的错误

这里有什么问题。有什么建议吗

答案1

远程服务器似乎在不同于默认端口(22)的端口上运行。您需要使用ssh user@host -p port语法指定它。它在本地工作,因为端口是默认端口,即 22。服务器和本地服务器都需要一个包来提供 SSH 服务器,sshd或者openssh。它们可以通过以下方式安装:

sudo apt-get install openssh-server

或者

sudo apt-get install sshd

答案2

您需要在尝试连接的远程主机上运行 openssh 服务器。

在远程主机上:sudo apt-get install openssh-server 在远程主机上。IT 生成 rsa/dsa 密钥并将其放在 /etc/ssh 中

安装后,运行 ssh-keygen 生成 pub 和 priv 密钥,分别复制到 id_rsa 和 id_rsa.pub。这些文件被放置在运行此命令时创建的 .ssh 文件夹中。

然后将 id_rsa.pub 的内容复制到 authorized_keys 中导航到 $HOME/.ssh ,然后运行 ​​cat id_rsa.pub >> authorized_keys

当您第一次尝试 ssh localhost 或任何其他主机时,known_hosts 文件会自动生成。

请注意,id_rsa.pub 和 known_hosts 文件的权限应该仅对组和其他人具有可读性。

现在从您的本地机器:ssh-copy-id -i $HOME/.ssh/id_rsa.pub yourremotehostname

它会询问是/否,并给出“是”。

下次您尝试 ssh yourremotehostname 时,它​​会愉快地登录您而不会要求您输入密码。

希望这可以帮助。

相关内容