加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

远程连接

发布时间:2022-11-16 19:00:59 所属栏目:Linux 来源:网络
导读: 前言
本文主要介绍如何通过 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 服务是否开启。

ps -ef | grep ssh

linux 远程桌面工具_远程linux服务器登录_Linux 远程登录

如上图所示,我们输入命令后打印出了两条信息。

ssh-agent 指的是 CentOS 的 ssh 服务的客户端,用于该主机远程连接其他 Linux 主机。sshd 指的是 CentOS 的 ssh 服务的服务端,用于其它主机通过 ssh 服务连接该主机。

也就是说,如果没有 sshd 进程的话,其他的操作系统是不可能连接该主机的,若是没有 ssh-agent,你也不能通过 ssh 连接其他的主机。

Ubuntu 安装 ssh 服务

Ubuntu 是默认没有 sshd 服务的,所以需要我们自己安装(CentOS 用户则不用)。

apt-get install openssh-server

这时候你再用命令查看服务开启情况。

ps -e | grep ssh

这个时候我们就能用 ssh 进行远程连接了。

下面两条命令是开启和关闭 ssh 服务的,需要的时候再用。

service ssh start
service ssh stop

Xshell

Xshell,一款强大的安全终端模拟软件 Xshell 可在 Windows 界面下访问不同系统下的远程终端服务器,并且进行操作控制。

下载 Xshell

目前最新版本为 6.X,但不知什么原因官网进不去了,我在网上找到了一位大佬做的下载链接,可提供下载 xshell 和 xftp,链接都为官方的,真实有效。

安装

Xshell 的安装和普通软件的安装一样,这里就不再重复。

使用

打开 Xshell,新建连接。

Linux 远程登录_远程linux服务器登录_linux 远程桌面工具

会话名称随意,自己能记住就行,选择 ssh 协议,端口填 22,很重要,因为 ssh 服务默认就是开放的 22 端口。

Linux 远程登录_远程linux服务器登录_linux 远程桌面工具

接下来我们得看一下 Linux 主机的 IP 地址,输入 ifconfig 查看。

ifconfig

远程linux服务器登录_Linux 远程登录_linux 远程桌面工具

然后在 Xshell 的主机处填入你要连接主机的 ip 地址。

Linux 远程登录_linux 远程桌面工具_远程linux服务器登录

点击连接,接下来会提醒你输入目标主机的用户名和密码,输入后即可连接。

Linux 远程登录_远程linux服务器登录_linux 远程桌面工具

之后你就可以在 Xshell 上进行你想要的命令操作了!

Xftp

除了远程控制服务器,我们在平时也会遇到需要在本地和服务器进行文件传输的时候,这时我们可以使用 Xftp 进行操作。

Xftp 6 是 NetSarang 开发的一款强大的 STP 和 FTP 传输工具,软件运行可靠、稳定,并提供了很多便利功能,如多标签、文件夹树,可以快速浏览远程目录,让你能够轻松地通过网络传输文件。

下载和安装 Xftp

可以用上面提供的网址进行下载,安装这里也略过。

使用

Xftp 同样也需要 ssh 服务进行连接,不过这里我们的协议选择 sftp,输入你的目标主机 ip,然后填入用户和密码即可进行连接。

Linux 远程登录_linux 远程桌面工具_远程linux服务器登录

SSH 免密连接

远程连接服务器除了用工具连接,我们也可以通过 ssh 使用公钥进行免密登录,这会在你本地生成一份 ssh 公私钥,公钥上传到服务器,开启权限之后就可以在本地用 ssh 进行免密登录了。当然,为了安全起见,最好不要使用 root 用户免密登录。

设置目标主机普通用户权限

chmod 740 /etc/sudoers
vim /etc/sudoers

进入后按 j 键光标向下移动,找到 root ALL=(ALL) ALL,然后按小写的 o 键在下方插入一行。

smiles ALL=ALL(ALL) ALL

前面的用户记得输入你自己的用户名,然后按 ESC,切换回命令模式,输入 :wq 保存退出。

然后撤回 /etc/sudoers 文件的可写权限

chmod 400 /etc/sudoers

本地生成 ssh 公私钥

这里默认你在 Windows 上安装了 Git,因为后续我们的操作都是基于 Git 的 Bash 来进行。

在本地计算机桌面右键打开 Git Bash,生成公钥/私钥对。

cd ~
cd .ssh
ss-keygen

接下来,遇到系统询问就直接按回车键,此时便会在本地计算机的用户根目录(C:\Users\LENOVO)下自动生成 .ssh(隐藏)文件夹,并在其中创建两个文件,分别为:id_rsa(私钥)和 id_rsa.pub(公钥)。

远程linux服务器登录_linux 远程桌面工具_Linux 远程登录

本地权限设置

接下来给私钥设置一下权限

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

上传公钥到服务器

我们进入服务器新建一个 .ssh 目录,接下来使用刚刚安装好的 Xftp 将公钥上传到服务器用户的 .ssh 目录下。

cd ~
mkdir .ssh

linux 远程桌面工具_远程linux服务器登录_Linux 远程登录

服务器权限设置

然后进入 ~/.ssh 目录,新建一个 authorized_keys 文件,并将 id_rsa.pub 文件中公钥的内容拷贝到该文件中。

cd ~/.ssh
cp id_rsa.pub authorized_keys
cat id_rsa.pub >> ~/.ssh/authorized_keys

设置一下权限

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

确保设置了正确的 SELinux 上下文。

restorecon -Rv ~/.ssh

现在,当您使用 ssh 远程登录服务器时,将不会提示您输入密码(除非您在创建密钥对时输入了密码)。

连接

接下来我们就可以在本地使用 ssh 连接服务器了

ssh smiles@xxx.xxx.xx.xx(目标主机的 ip)

登录成功界面如下

远程linux服务器登录_linux 远程桌面工具_Linux 远程登录

尾声

其实我们一般使用 Xshell 连接服务器就足够了,最后介绍 ssh 进行无密码登录也只是一个扩展,感兴趣的可以了解一下!

最后,服务器的操作一定要慎重,所以我们平时尽量使用普通用户进行操作Linux 远程登录,个别情况需要权限的时候用 sudo 获取权限即可,当然也得考虑清楚你接下来要执行的操作是不是你期望的,最后,祝大家 hacking 愉快!

参考资料

[1] 大佬网站链接: 51.ruyo.net/10002.html

[2] Xshell / Xftp 官网下载: 51.ruyo.net/test/download_xshell_xftp.html

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!