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中的远程登陆服务相关推荐

  1. 在Linux中实现远程登陆服务

    文章目录 一.实验环境布置 二.Openssh 服务的基本信息 三.Openssh 服务的 key 认证 四.Openssh 服务的安全配置 五.远程执行命令 六.sshd 登陆信息修改 一.实验环境 ...

  2. 8.linux中的远程登录服务

    8.linux中的远程登录服务 1.Linux中软件包的类型 1.DEB UBlinux DEBlinux 2.RPM redhat centOS fadora 3.bz2|gz|xz 1.需要源码安 ...

  3. Linux中的远程登陆

    1.sshd服务的用途 可以实现通过网络远程安全打开其他主机的shell 主配置文件位置 /etc/ssh/sshd.conf 命令 ssh 安装包 openssh-server 端口 22 2.ss ...

  4. Linux 中的远程登陆

    ####1.Openshh 功能介绍#### Openshh是ssh(Secure SHell)协议当中的免费开源软件 软件安装名称 :Openshh-server 配置文件 :/etc/ssh/ss ...

  5. Linux配置ssh远程连接服务

    Linux配置ssh远程连接服务 直接上命令: sudo apt-get update sudo apt-get remove --purge openssh-client sudo apt inst ...

  6. Linux中要重启apache服务与在windows是有很大的区别,下面我们来介绍一下

    在Linux中要重启apache服务与在windows是有很大的区别,下面我们来介绍一下常用的命令,需要的朋友参考下吧(http://www.hnkjlb.com) linux系统为Ubuntu 一. ...

  7. Linux中Mycat远程连接Mysql8.0提示密码错误

    Linux中Mycat远程连接Mysql8.0提示密码错误 问题: 当在linux中使用mycat远程连接时候会提示密码错误,具体如下: 解决 防火墙 最开始以为是防火墙未关闭 通过查看防火墙状态发现 ...

  8. linux关闭涉及安全的服务,Linux中关闭不必要服务减少漏洞

    Linux中关闭一些不必要使用的服务进程以减少漏洞.因为是桌面机应用,因此只保留必要的服务就可以了.下面是一个例子,基本上可以满足用户需要. #可以使用chkconfig --list来查看系统打开的 ...

  9. 如何远程链接linux服务器,如何远程登陆Linux/Windows服务器

    原标题:如何远程登陆Linux/Windows服务器 如何远程登录Linux或Windows服务器?租用了服务器,需要远程登录后才能管理自己的服务器.不同操作系统的服务器远程登录方法不一样,下面优与云 ...

最新文章

  1. 灰色预测原理及JAVA实现
  2. python 信号量,Event, 定时器
  3. python获取用户输入中文_python中的用户输入
  4. 如何用jlink+jflash烧写stm32f103CB的option bytes 和程序
  5. java 怎么清除画布_HTML5 Canvas 清除画布
  6. 全网最简单明了的MySQL连接Eclipse方法(JDBC详细安装方式及简单操作)2020新版
  7. 从ThoughtWorks 2017技术雷达看微软技术
  8. [BZOJ1669][Usaco2006 Oct]Hungry Cows饥饿的奶牛
  9. IntelliJ IDEA 中文官方文档
  10. mariadb不支持load data_不修改代码打包python机器学习工程
  11. 2022“点点点”测试员如何上岸测试开发岗?附完整学习路线!
  12. python的数组怎么用_python数组的使用
  13. Web服务器压力测试工具?
  14. 泛微自带第三方短信接口
  15. 帝国cms模板-免费帝国CMS模板-帝国CMS模板安装详细教程
  16. 阿古斯机器人_燃烧王座:暗牧神器新语音暗示虚空之力
  17. 【实践与问题解决28】最全超分辨率(SR)数据集介绍以及多方法下载链接
  18. Navicat Premium 12 for Mac 破解
  19. 为自己搭建一个分布式 IM 系统二【从查找算法聊起】
  20. APP自动化简单理解(在python中实现简单的app自动化框架)

热门文章

  1. 图虫:科技赋能图片版权领域创新发展
  2. 阿里云云开发平台的创建与部署
  3. win7系统如何重启服务器,云骑士解决win7系统重启IIS服务的技巧介绍
  4. 何万青:直呼其名——我与中国计算机学会十年命运交织
  5. cocos 3D特效
  6. 国科大学习资料--人工智能原理与算法-第十三次作业解析(学长整理)
  7. 18 | 需求管理:太多人给你安排任务,怎么办?
  8. java基本数据类型 byte、short、int、long、float、double、char的范围和运算中注意的事项(详细)
  9. 【解决方案】连锁店巡店难?开发成本高?TSINGSEE青犀视频打造一站式连锁店视频上云/安防监控/AI智能分析解决方案
  10. Python实现FP树