远程连接
本文主要介绍如何通过 SSH 和 Xshell 工具远程连接我们的 Linux 服务器,当然,你也可以选择其他工具进行连接,大概的思路是一样的,只是 Xshell 是我比较喜欢的工具,所以这里着重讲
前言 本文主要介绍如何通过 SSH 和 Xshell 工具远程连接我们的 Linux 服务器,当然,你也可以选择其他工具进行连接,大概的思路是一样的,只是 Xshell 是我比较喜欢的工具,所以这里着重讲一下。 SSH 服务什么是 SSH 服务? SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH 最初是 UNIX 系统上的一个程序,后来又迅速扩展到其他操作平台。 SSH 客户端适用于多种平台。几乎所有 UNIX 平台—包括 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行 SSH。 上面一段话是我百度百科来的,简而言之,SSH 就是一种安全协议,提供远程控制服务,默认监听 22 号端口,它建立在应用层的基础上,我们可以用过它来进行远程登录。 开启 SSH 服务 我平时使用较多的 Linux 系统是 CentOS 和 Ubuntu,在 CentOS 上,sshd 服务是默认开启的,如果你使用的是 Ubuntu 的话,就需要进行手动开启了。 你可以输入以下命令查看 sshd 服务是否开启。
如上图所示,我们输入命令后打印出了两条信息。 ssh-agent 指的是 CentOS 的 ssh 服务的客户端,用于该主机远程连接其他 Linux 主机。sshd 指的是 CentOS 的 ssh 服务的服务端,用于其它主机通过 ssh 服务连接该主机。 也就是说,如果没有 sshd 进程的话,其他的操作系统是不可能连接该主机的,若是没有 ssh-agent,你也不能通过 ssh 连接其他的主机。 Ubuntu 安装 ssh 服务 Ubuntu 是默认没有 sshd 服务的,所以需要我们自己安装(CentOS 用户则不用)。
这时候你再用命令查看服务开启情况。
这个时候我们就能用 ssh 进行远程连接了。 下面两条命令是开启和关闭 ssh 服务的,需要的时候再用。
Xshell Xshell,一款强大的安全终端模拟软件 Xshell 可在 Windows 界面下访问不同系统下的远程终端服务器,并且进行操作控制。 下载 Xshell 目前最新版本为 6.X,但不知什么原因官网进不去了,我在网上找到了一位大佬做的下载链接,可提供下载 xshell 和 xftp,链接都为官方的,真实有效。 安装 Xshell 的安装和普通软件的安装一样,这里就不再重复。 使用 打开 Xshell,新建连接。 会话名称随意,自己能记住就行,选择 ssh 协议,端口填 22,很重要,因为 ssh 服务默认就是开放的 22 端口。 接下来我们得看一下 Linux 主机的 IP 地址,输入 ifconfig 查看。
然后在 Xshell 的主机处填入你要连接主机的 ip 地址。 点击连接,接下来会提醒你输入目标主机的用户名和密码,输入后即可连接。 之后你就可以在 Xshell 上进行你想要的命令操作了! Xftp 除了远程控制服务器,我们在平时也会遇到需要在本地和服务器进行文件传输的时候,这时我们可以使用 Xftp 进行操作。 Xftp 6 是 NetSarang 开发的一款强大的 STP 和 FTP 传输工具,软件运行可靠、稳定,并提供了很多便利功能,如多标签、文件夹树,可以快速浏览远程目录,让你能够轻松地通过网络传输文件。 下载和安装 Xftp 可以用上面提供的网址进行下载,安装这里也略过。 使用 Xftp 同样也需要 ssh 服务进行连接,不过这里我们的协议选择 sftp,输入你的目标主机 ip,然后填入用户和密码即可进行连接。 SSH 免密连接 远程连接服务器除了用工具连接,我们也可以通过 ssh 使用公钥进行免密登录,这会在你本地生成一份 ssh 公私钥,公钥上传到服务器,开启权限之后就可以在本地用 ssh 进行免密登录了。当然,为了安全起见,最好不要使用 root 用户免密登录。 设置目标主机普通用户权限
进入后按 j 键光标向下移动,找到 root ALL=(ALL) ALL,然后按小写的 o 键在下方插入一行。
前面的用户记得输入你自己的用户名,然后按 ESC,切换回命令模式,输入 :wq 保存退出。 然后撤回 /etc/sudoers 文件的可写权限
本地生成 ssh 公私钥 这里默认你在 Windows 上安装了 Git,因为后续我们的操作都是基于 Git 的 Bash 来进行。 在本地计算机桌面右键打开 Git Bash,生成公钥/私钥对。
接下来,遇到系统询问就直接按回车键,此时便会在本地计算机的用户根目录(C:\Users\LENOVO)下自动生成 .ssh(隐藏)文件夹,并在其中创建两个文件,分别为:id_rsa(私钥)和 id_rsa.pub(公钥)。 本地权限设置 接下来给私钥设置一下权限
上传公钥到服务器 我们进入服务器新建一个 .ssh 目录,接下来使用刚刚安装好的 Xftp 将公钥上传到服务器用户的 .ssh 目录下。
服务器权限设置 然后进入 ~/.ssh 目录,新建一个 authorized_keys 文件,并将 id_rsa.pub 文件中公钥的内容拷贝到该文件中。
设置一下权限
确保设置了正确的 SELinux 上下文。
现在,当您使用 ssh 远程登录服务器时,将不会提示您输入密码(除非您在创建密钥对时输入了密码)。 连接 接下来我们就可以在本地使用 ssh 连接服务器了
登录成功界面如下 尾声 其实我们一般使用 Xshell 连接服务器就足够了,最后介绍 ssh 进行无密码登录也只是一个扩展,感兴趣的可以了解一下! 最后,服务器的操作一定要慎重,所以我们平时尽量使用普通用户进行操作Linux 远程登录,个别情况需要权限的时候用 sudo 获取权限即可,当然也得考虑清楚你接下来要执行的操作是不是你期望的,最后,祝大家 hacking 愉快! 参考资料 [1] 大佬网站链接: 51.ruyo.net/10002.html [2] Xshell / Xftp 官网下载: 51.ruyo.net/test/download_xshell_xftp.html (编辑:好传媒网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |