ssh远程连接服务器

本文深入解析SSH协议,涵盖其定义、功能、远程管理工具、验证级别、原理及配置方法。了解如何通过修改端口、禁止root登录等手段优化SSH服务,掌握密钥验证提升安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、定义
SSH(Secure Shell Protocol,安全的壳程序协议) 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH 协议可以有效防止远程管理过程中的信息泄露问题。

2、功能
1)分享主机运算能力
2)服务器类型有限度开放连接
3)工作站类型,只对内网开放

3、常见远程管理工具方式
1)RDP协议—windows远程桌面管理(图形界面)
2)telnet CLI界面下远程管理,几乎所有操作系统都有(内容明文传输)
3)ssh CLI界面下远程管理,都有(内容加密传输)端口号 22
4)RFB—图形化远程管理协议VNC使用的协议

4、两种验证级别
1)基于口令的安全验证(openssh)

只需知道账号和口令,就可以登录到远程主机。所有的传输数据都会被加密,但不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

2)基于密钥的安全验证(openssl)

需要依靠密钥,也就是你必须为自己创建一对密钥,并把公用密钥放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密钥,服务器就用公用密钥加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密钥解密再把它发送给服务器。

在这里插入图片描述

5、原理
在这里插入图片描述

6、常用知识:

修改ssh服务的启动文件 (修改 /etc/ssh/sshd_config)

 UseDNS no  加快响应速度因为在内网环境下

    PermitRootLogin no  不运行root用户直接登录

    Port 11544 更改访问端口号

    ListenAddress  192.168.25.130  只监听内网的IP

Allow User anoncvs 当前环境允许登录的用户

    PermitRootLogin no      是否允许root用户登录,一般不允许开

ssh远程的加密连接协议,相关软件openssh,openssl
默认端口22
ssh版本协议 ------ssh2、 sslv3

服务器ssh连接,ftp连接,sshd守护进程,开机启动
ssh客户端重要命令:ssh(用户登录&&远程命令),scp,sftp,
安全验证方式:口令,密钥 学习原理
ssh服务优化:改端口,no root,no DNS,
ssh密钥对,公钥在服务器端,私钥在客户端

7、配置ssh服务

软件包名openssh-server //默认已安装

案例一:修改ssh服务端口号

1)进入主配置文件

[root@localhost ~]# vim /etc/ssh/sshd_config
在这里插入图片描述
2)添加防火墙允许策略
在这里插入图片描述
3)添加自定义端口到服务
[root@localhost ~]# semanage port -a -t ssh_port_t -p tcp 2222

案例二:拒绝root用户远程登录

#请保持服务器上至少有一个可以远程登陆的普通远程账号

#修改配置文件如下:

#打开该选项并修改参数为no

PermitRootLogin no

#重启服务后生效,使用时使用普通用户进行登陆,需要使用root用户时再切换

案例三:允许特定用户ssh登录,其他用户无法登陆

1)编辑配置文件
[root@localhost ~]# vim /etc/ssh/sshd_config
AllowUsers USERNAME
USERNAME为允许登录的账号,如果是多个用户,用空格隔开

2)然后重启服务

案例四:虚拟机和虚拟机之间使用密钥进行登录

1)配置主配置文件

[root@localhost ~]#ssh-keygen -t rsa
//ssh-keygen – 生成、管理和转换认证密钥 -t指定类型 RSA

#证书的目录
/root/.ssh/id_rsa

#默认创建的公钥文件
/root/.ssh/id_rsa.pub

#复制该公钥文件到对端的该目录下:
[root@localhost~]#scp /root/.ssh/id_rsa.pub
root@192.168.220.134:/root/.ssh/authorized_keys

登录时可以使用如下命令(192.168.220.133为ssh服务端)
[root@localhost~]#ssh -I /root/.ssh/id_rsa root@192.168.220.133

案例五:通过xshell使用密钥验证进行登录

客户端产生密钥的两种方式:

1)

[root@localhost~]ssh-keygen -t rsa -b 4096
[root@localhost~.ssh]cp id_rsa.pub authorized_keys
2)
使用xshell工具的用户密钥管理生成公钥和私钥,然后将公钥上传至服务端的即将要登录的用户的家目录下并命名为

[root@localhost .ssh]# mv id_rsa_2048.pub authorized_keys

服务端:
#取消使用密码进行远程登录
PasswordAuthentication no
然后重启服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值