Linux中SSH远程管理
1.SSH服务
1.1什么是SSH服务
SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。
1.2SSH服务优点
1.3SSH原理
-
-
服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
-
客户端生成密钥对
-
客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密
-
客户端发送加密值到服务端,服务端用私钥解密,得到Res
-
服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
-
1.4用户登录
方法一:ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port
命令 端口号
方法二:
ssh -l [远程主机用户名] [远程服务器主机名或IP 地址] -p port
-l :-l 选项,指定登录名称。
-p: -p 选项,指定登录端口(当服务端的端口非默认时,需要使用-p 指定端口进行登录)
1.5修改端口号
1.6禁止root用户登录
命令: vim /etc/ssh/sshd_config
38行左右把YES改成NO,就禁止ROOT用户的登陆了,默认是YES
这样可以禁止直接用ROOT登录,但是可以用普通用户登陆之后,用SU切换到root用户
1.7黑名单,白名单设置
[root@localhost ssh]#vim /etc/ssh/sshd_config
#手动添加
AllowUsers zhangsan@192.168.91.101 lisi
#允许所有有的主机访问我的lisi用户
#只允许 zhangsan 从192.168.91.101上访问
1.8SCP远程复制
scp ssh.sh 192.168.91.100:/mntl
远程传输命令 要传的文件 接收方的IP 存放的位置
2.远程免密登录
密钥位置不修改的话,直接回车就可以了
将公钥文件发送给目标服务器,先进入存放密钥文件的目录
将公钥文件发送给目标服务器
再次登录就不用输入密码了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律