Linux中的远程登陆服务
Linux中的远程登陆服务
- 1. Openness功能
- 2.ssh命令的使用方法
- 2.1 常用参数
- 3.sshd的key认证
- 3.1 认证类型
- 3.2 生成非对称加密密钥
- 3.3 对服务器加密
- 4. sshd 安全优化参数详解
1. Openness功能
(1)sshd服务的用途
作用:可以实现通过网络在远程主机中开启安全shell的操作
ssh:Secure SHell(客户端服务)
sshd:Secure SHell daemon(服务端服务)
(2)安装包
当没有ssh服务时,使用openssh-server安装包进行安装
(3)主配置文件
/etc/ssh/sshd_conf
(4)默认端口
22
(5)客户端命令
ssh
2.ssh命令的使用方法
ssh [-l 远程主机用户] <ip|hostname>
输入yes后,可以使用cd ~/.ssh命令,查看该文件下生成known_hosts文件,查看该文件,里面有一串加密字符串,是在输入yes时,所连接的远程主机传过来的
在服务器端输入cd /etc/ssh命令,这是ssh配置文件,可以在自己的主机端看到该加密字符后面为Z89bM,在服务器端/etc/ssh该文件下查找ecdsa.pub(pub就是公钥),可以cat查看该文件里面的内容与客户端完全一致(如上图),只有一致时才能认证成功并登陆,不一致无法登陆。当删除该目录下面的所有文件删除rm -fr /etc/ssh/ssh_host_*,然后输入 systemctl restart sshd 命令,令该目录下的所有文件重新生成,重新生成后,该文件的key会发生变化,此时再次连接服务端主机,身份认证就不成功被拒绝(如下图所示):
当出现连接因为认证问题被拒绝时解决方案:注意看报错内容,它会提示具体哪一行有问题,可以进入该文件(vim),把有问题的行删除,再重新连接。然后进入 .ssh 查看里面会有一个新的key文件,当该文件存在之后,再登陆的时候,就不用再输入yes/no,直接输入密码登陆即可:
2.1 常用参数
-l ——指定登陆用户。注意登陆完服务端后要退出,不要直接切换到客户端用户
-i ——指定私钥
-X——远程登陆的时候开启图形
-f ——后台运行
-o ——指定连接参数
-t ——指定连接跳板
sh -l root 172.25.254.204 -o “StrictHostKeyChecking=no” 命令,表示首次连接不需要输入yes。执行过该命令后,再重新登陆时,不需要再输入-o参数也不会再出现yes/on,因为已经自动输入了:
ssh -l root 172.25.254.1 -t ssh -l root 172.25.254.204命令,表示先登陆1号主机,再跳到204号主机。适用于需要连接一台主机的时候被拒绝了,就可以先连接其他主机,再跳到该主机上:
3.sshd的key认证
3.1 认证类型
对称加密 加密和解密是同一串字符。(容易泄漏、可暴力破解、容易遗忘)
非对称加密 加密用公钥,解密用私钥。(不会被盗用、攻击者无法通过无密钥方式登陆服务器)
3.2 生成非对称加密密钥
(1)方法一:ssh-keygen命令
输入保存密钥文件时,前面括号里的是默认目录及文件名,也可以自己设定文件及路径,但这样需要改打开大量的配置文件,为了避免这种情况,可以直接回车,默认即可;(empty for no passphrase)表示密钥密码,可以要也可以不要,若需要,要确保密码大于四位。若不要直接回车相当于已经有密钥,不再要密码,可以达到免密登陆;最后,id_rsa文件 表示私钥,可以开锁。id_rsa.pub文件表示公钥,可以上锁。
(2) 方法二:非交互式,ssh-keygen -f id_rsa -P “” ,引号中可以输入密码,但一般为空
3.3 对服务器加密
ssh-copy-id -i /root/.ssh/id_rsa.pub username@serverip
eg:ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.204
上面命令中,加的用户是谁,锁的就是谁,其他用户不会被锁。如果客户端用户的.ssh目录下存在私钥文件,就可以直接免密登陆。如果私钥不存在这个路径下,无法直接认证,那么就需要输入密码,此时若不知道密码,就无法登录。当密钥被窃取了,可以在服务器端,将公钥移出.ssh目录,此时客户端也是无法连接服务器的。出现added表示添加成功
4. sshd 安全优化参数详解
Port 2222 ——设定端口为2222,默认为22
PermitRootLogin yes ——no
PasswordAuthentication yes ——no
AllowUsers lee ——用户白名单(只有谁能用),多个用户空格隔开就可以
DenyUsers lee ——用户黑名单,多个用户空格隔开就可以
1.注意安全优化是再服务器上操作的
2.做实验前要关闭防火墙:systemctl disable --now firewalld
3. 以下操作都是在vim /etc/ssh/sshd_config文件中进行的
4.每次修改后,都要重新加载配置,systemctl reload sshd.service
5. 做端口实验前,用getenforce命令查看,系统中的selinux是否开启,开启时无法改变端口号 。若它时开启的,需要关闭它, 用vim /etc/selinux/config命令,使文件里面的SELINUX=disabled即可,完成后需要重启系统;可以使用ss -anltupe | grep sshd查看端口信息,其中a表示:所有端口 ;n表示:不做解析,即显示ip而不是主机名;l表示:正在活跃的 ;表示:tcp协议; u表示:udp协议 ;p表示:程序名称 ;e表示:显示完全信息。
Linux中的远程登陆服务相关推荐
- 在Linux中实现远程登陆服务
文章目录 一.实验环境布置 二.Openssh 服务的基本信息 三.Openssh 服务的 key 认证 四.Openssh 服务的安全配置 五.远程执行命令 六.sshd 登陆信息修改 一.实验环境 ...
- 8.linux中的远程登录服务
8.linux中的远程登录服务 1.Linux中软件包的类型 1.DEB UBlinux DEBlinux 2.RPM redhat centOS fadora 3.bz2|gz|xz 1.需要源码安 ...
- Linux中的远程登陆
1.sshd服务的用途 可以实现通过网络远程安全打开其他主机的shell 主配置文件位置 /etc/ssh/sshd.conf 命令 ssh 安装包 openssh-server 端口 22 2.ss ...
- Linux 中的远程登陆
####1.Openshh 功能介绍#### Openshh是ssh(Secure SHell)协议当中的免费开源软件 软件安装名称 :Openshh-server 配置文件 :/etc/ssh/ss ...
- Linux配置ssh远程连接服务
Linux配置ssh远程连接服务 直接上命令: sudo apt-get update sudo apt-get remove --purge openssh-client sudo apt inst ...
- Linux中要重启apache服务与在windows是有很大的区别,下面我们来介绍一下
在Linux中要重启apache服务与在windows是有很大的区别,下面我们来介绍一下常用的命令,需要的朋友参考下吧(http://www.hnkjlb.com) linux系统为Ubuntu 一. ...
- Linux中Mycat远程连接Mysql8.0提示密码错误
Linux中Mycat远程连接Mysql8.0提示密码错误 问题: 当在linux中使用mycat远程连接时候会提示密码错误,具体如下: 解决 防火墙 最开始以为是防火墙未关闭 通过查看防火墙状态发现 ...
- linux关闭涉及安全的服务,Linux中关闭不必要服务减少漏洞
Linux中关闭一些不必要使用的服务进程以减少漏洞.因为是桌面机应用,因此只保留必要的服务就可以了.下面是一个例子,基本上可以满足用户需要. #可以使用chkconfig --list来查看系统打开的 ...
- 如何远程链接linux服务器,如何远程登陆Linux/Windows服务器
原标题:如何远程登陆Linux/Windows服务器 如何远程登录Linux或Windows服务器?租用了服务器,需要远程登录后才能管理自己的服务器.不同操作系统的服务器远程登录方法不一样,下面优与云 ...
最新文章
- 灰色预测原理及JAVA实现
- python 信号量,Event, 定时器
- python获取用户输入中文_python中的用户输入
- 如何用jlink+jflash烧写stm32f103CB的option bytes 和程序
- java 怎么清除画布_HTML5 Canvas 清除画布
- 全网最简单明了的MySQL连接Eclipse方法(JDBC详细安装方式及简单操作)2020新版
- 从ThoughtWorks 2017技术雷达看微软技术
- [BZOJ1669][Usaco2006 Oct]Hungry Cows饥饿的奶牛
- IntelliJ IDEA 中文官方文档
- mariadb不支持load data_不修改代码打包python机器学习工程
- 2022“点点点”测试员如何上岸测试开发岗?附完整学习路线!
- python的数组怎么用_python数组的使用
- Web服务器压力测试工具?
- 泛微自带第三方短信接口
- 帝国cms模板-免费帝国CMS模板-帝国CMS模板安装详细教程
- 阿古斯机器人_燃烧王座:暗牧神器新语音暗示虚空之力
- 【实践与问题解决28】最全超分辨率(SR)数据集介绍以及多方法下载链接
- Navicat Premium 12 for Mac 破解
- 为自己搭建一个分布式 IM 系统二【从查找算法聊起】
- APP自动化简单理解(在python中实现简单的app自动化框架)
热门文章
- 图虫:科技赋能图片版权领域创新发展
- 阿里云云开发平台的创建与部署
- win7系统如何重启服务器,云骑士解决win7系统重启IIS服务的技巧介绍
- 何万青:直呼其名——我与中国计算机学会十年命运交织
- cocos 3D特效
- 国科大学习资料--人工智能原理与算法-第十三次作业解析(学长整理)
- 18 | 需求管理:太多人给你安排任务,怎么办?
- java基本数据类型 byte、short、int、long、float、double、char的范围和运算中注意的事项(详细)
- 【解决方案】连锁店巡店难?开发成本高?TSINGSEE青犀视频打造一站式连锁店视频上云/安防监控/AI智能分析解决方案
- Python实现FP树