SSH远程控制及访问
admin
2023-03-09 05:41:31
0

SSH远程控制及访问详解

SSH是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。与早期的 Telent、RSH、RCP等应用相比,SSH 协议提供了更好的安全性。

一、sshd基本配置

现在我们是使用的XShell与服务器连接的,那么sshd服务就应该是处于运行的,下面我们用“netstat -ntap | grep 22”命令进行查看。

下面我们进入sshd的配置文件多其中的一些配置行进行了解。
Port 22: 监听端口号
ListenAddress 0.0.0.0: 监听地址
LoginGraceTime 2m: 登录验证时间为 2 分钟
PermitRootLogin yes: 允许root用户登录
MaxAuthTries 6: 验证登录时最大重试次数为 6
MaxSessions 10:访问最大连接数
PubkeyAuthentication yes:开启秘钥验证
开启22端口(去掉行首的“#”号)
输入命令“systemctl restart sshd”重启sshd服务
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问

下面我们使用另一台服务器test02对服务器test01进行远程控制。
cd /opt/(在test02远程连接的情况下进入test01的opt目录下)
touch aaa.txt(并创建文件aaa.txt成功)
ls(查看文件是否创建成功)
cd /opt/(返回test01并进入opt目录下)
ls(查看远程创建结果)
但是root的权限毕竟太高,随便谁都可以远程连接,难免安全风险过高。所以下面我们设置root用户禁止登录。
首先进入sshd配置文件,修改配置行PermitRootLogin no(禁止root用户登录)
systemctl restart sshd(重启sshd服务)
创建一个新用户tom
useradd tom(创建用户tom)
passwd tom(设置密码)
此时我们再在另一台服务器上输入“ssh root@192.168.131.133”,root已经不能登录了。
但方法总比困哪多。我们可以先试用tom用户登录在切换到root
ssh tom@192.168.131.133
su - root
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
所以光禁止root用户登录并不能完全解决我们的安全隐患。
我们可以进入pam.d模块进行相关安全的修改。(vim /etc/pam.d/su)
启动wheel组,删除行首的“#”号即可
从上面我们可以得知用户tom并不属于wheel组,所以此时wheel组已经不能再随意切换到root助理,只有属于wheel组的用户可以切换到root用户,无疑是增加了我们的服务器安全系数。
SSH远程控制及访问
SSH远程控制及访问
为了防止破解,我们还可以对我们的验证登录的最大重试次数进行设置,我们首先进入sshd配置文件开启最大验证次数的配置行(去除行首的“#”即可)。
修改完配置文件记得重启服务。“systemctl restart sshd”
但是我们实际验证时发现,因为服务器默认的最大验证次数是3次,所以我们的设置并未起到作用。
若是想配置起到作用我们需要执行命令“ssh -o NumberOfPasswordPrompts=8 fan@192.168.131.133”。

SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问

为了进一步加强我们的服务器安全,我们还可以设置黑白名单。
AllowUsers 用户1 用户2(允许登陆的用户)
或者 DenyUsers 用户1 用户2(禁止登录的用户)
两条命令不可以同时使用,还可以同时限制用户的登录地址
下面我们以白名单AllowUsers进行举例。
在sshd的配置文件中添加配置行“AllowUsers fan@192.168.131.129 jerry”(允许用户fan登录固定ip的服务器,允许用户jerry登录所有服务器)。
ssh fan@192.168.131.133(fan用户可以登录)
ssh jerry@192.168.131.133(jerry用户可以登录)
ssh tom@192.168.131.133(tom用户无法登陆)
只有在白名单的用户才可以登录。
SSH远程控制及访问
SSH远程控制及访问

二、sshd密钥对登录

开启秘钥验证配置行“PubkeyAuthentication yes”。
此时我们的服务器用户目录中并没有秘钥的配置文件。
进入到客户单创建新用户kefu。
在客户端创建秘钥“ssh-keyqen -t ecdsa”
输入秘钥验证的密码:自己定义
ls(查看秘钥文件是否创建成功)
ssh-copy-id -i id-ecdsa.pub fan@192.168.131.133(把秘钥文件推送给服务端)
yes(确认推送)
输入用户fan的登录密码
这时我们在用户fan的家目录就可以找到.ssh秘钥文件了。
下面我们就可以尝试使用密钥登陆了,这时登录的验证方式的密码就是我们刚才设置的密钥对密码。
对于常用到的用户我们还可以对其设置免密码登录:ssh-agent bash
ssh-add
输入密钥对密码
以后我们的kefu用户就可以免密码登录远程服务器了。
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问

三、scp、sftp命令程序

在客户端分别创建文档“ssh_client”和文件夹“test”
之后我们把文档tssh_client和文件夹test远程复制到服务器端。
进入服务端的及目录查看复制结果
使用命令“sftp root@192.168.131.133”在客户端远程交互服务器的文档管理
get ssh_client :可以从远程服务器下载文档ssh_client。
up ssh_server:可以远程上传文档ssh_server到服务器。

SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问

四、TCP Wrappers的访问策略

TCP Wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行
访问控制。对应的两个策略文件为/etc/hosts.allow 和/etc/hosts.deny,分别用来设置允
许和拒绝的策略。

关于 TCP Wrappers 机制的访问策略,应用时遵循以下顺序和原则:首先检查/etc/hosts.allow 文 件 , 如 果 找 到 相 匹 配 的 策 略 ,则 允 许 访 问 ; 否 则 继 续 检 查/etc/hosts.deny 文件,如果找到相匹配的策略,则拒绝访问;如果检查上述两个文件都找不到相匹配的策略,则允许访问。

只希望从 IP 地址为192.168.131.129主机 访问 sshd 服务,其他地址被拒绝,可以执行以下操作
vim /etc/hosts.allow (进入白名单策略文件)
sshd:192.168.131.129(输入允许登录的主机IP)
:wq(保存并退出)
vim /etc/hosts.deny(进入黑名单策略文件)
sshd:ALL(禁止所有)
:wq(保存并退出)

SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问
SSH远程控制及访问

相关内容

热门资讯

人民日报:查处携程垄断案释放反... 林丽鹂 《人民日报》(2026年07月26日 第02版)携程垄断案的查处是平台经济反垄断常态化监管的...
以总理计划向特朗普递交伊朗情报 △以色列总理内塔尼亚胡(资料图)当地时间7月25日,总台记者自以色列方面获悉,以总理内塔尼亚胡及其访...
原创 手... 以前购买的手机想要用3天不充电,基本上是不可能的,但这两年手机电池技术有大突破,非重度使用的情况下,...
咪咕数媒亮相第34届全国图书交... 潮新闻客户端 记者 王景平 7月24日,第34届全国图书交易博览会盛大举办。作为数字文化领域的核心央...
王兴兴和他的机甲机器人登上《时... 当地时间7月23日,宇树科技创始人兼首席执行官王兴兴与该公司突破性的载人机甲机器人GD01共同登上美...
APEC论坛聚焦亚太人工智能普... 这是7月23日在成都街头拍摄的会议主题装置。当日,2026年亚太经合组织(APEC)数字和人工智能部...
菲尔兹奖得主王虹4岁不慎烫伤,... 中国数学家王虹、邓煜获得菲尔兹奖,这是中国籍数学家首次获得这一奖项。王虹1991年出生在广西桂林平乐...
美媒:特朗普下令暂停空袭伊朗 美国“Axios”新闻网7月25日援引知情人士报道,特朗普24日指示美军不得对伊朗发动新的打击,打破...
法国野火“创历史纪录”:政坛吵... 综合法媒BFM新闻台、《费加罗报》报道,当地时间7月25日中午,内政部长努内兹(Laurent Nu...
51.79亿,携程真的疼了吗? 2026年7月25日,市场监管总局对携程反垄断案作出行政处罚:罚没款合计51.79亿元。但这个数字被...