在Linux中实现远程登陆服务
文章目录
- 一、实验环境布置
- 二、Openssh 服务的基本信息
- 三.Openssh 服务的 key 认证
- 四.Openssh 服务的安全配置
- 五.远程执行命令
- 六.sshd 登陆信息修改
一、实验环境布置
两台虚拟机,一台作为服务端,一台作为
client:
westos_client.westos.com 172.25.254.10
server:
westos_node1.westos.com 172.25.254.20
$sudo ifconfig ##查看 ip 地址
$sudo nm-connection-editor ##设定 ip 地址
$sudo hostnamectl set-hostname ##设定主机名称
二、Openssh 服务的基本信息
1.作用:
在企业中的运维工作,不是 1v1 的运维,运维工程师基本都是 1vN。在运维工程师对服务器进行管理时,需要通过网络登陆远程主机,需要通过网络在远程主机中开启 shell 来进程操作,远程主机必须提供这样的开启 shell 的方式。所以就有了 openssh 服务来提供解决这个问题的方法。远程主机中安装了 openssh 并开启了这个服务,那么我们就可以通过网络来连接这台主机了。
2.软件包名称
openssh-server
3.服务名称
sshd
4.客户端
ssh
$sudo ssh 172.25.254.20 -l root #172.25.254.20 远程主机 ip#-l login 登陆#root 远程主机的超级用户
[root@westos_client ~]# ssh 172.25.254.20 -l root
The authenticity of host '172.25.254.20 (172.25.254.20)' can't be established.
ECDSA key fingerprint is SHA256:+5Ikt8ZExrRdLzOg19xsL5PhAYPt8GB7umvLcSF/dlM.
Are you sure you want to continue connecting (yes/no)? `yes` #输入yes 建立关系
Warning: Permanently added '172.25.254.20' (ECDSA) to the list of known hosts.
root@172.25.254.20's password: ##输入远程主机密码
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Thu Dec 17 09:02:58 2020
[root@westos_node1 ~]# ##登陆成功
5.sshd 服务端口
22/tcp
6.配置文件
/etc/ssh/sshd_config
三.Openssh 服务的 key 认证
1.用户密码认证 (对称加密)
- 密码容易泄漏
- 容易忘记
2.密钥认证 (非对称加密)
- 安全
- 不会忘记密码
3.建立 key 认证的方式
建立 key 文件
172.25.254.10 主机
[root@westos_client ~]# ssh-keygen ##建立认证 key 文件
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ##加密字符保存位置
Enter passphrase (empty for no passphrase):##key 认证密码,通常设定为空
Enter same passphrase again:##重复 key 认证密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:
SHA256:Uh8cYTxqCShLnD3NUxpIQ4/NOtSVuyPuMzHuGnxSd1k root@westos_client.westos.com
The key’s randomart image is:
±–[RSA 2048]----+
| . =+=…oo+. |
| = =B=+.oo. |
| . oo.*o.+o.E |
| … . .=. + |
| o o.S.+ |
| . o+oo. |
| +o.+ . |
| += |
| .+oo |
±—[SHA256]-----+上传公钥 (加密远程主机)
[root@westos_client ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.20
#ssh-copy-id 上传密钥命令
#-i 指定公钥
#/root/.ssh/id_rsa.pub 公钥名称
#root 远程主机被加密用户
#@ 分割符
#172.25.254.20 远程主机地址
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: “/root/.ssh/id_rsa.pub”
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed – if you are prompted now it is to install the new keys
root@172.25.254.20’s password: ##远程主机密码
Number of key(s) added: 1
Now try logging into the machine, with:
" ssh ‘root@172.25.254.20’ "
and check to make sure that only the key(s) you wanted were added.
- 测试
172.25.254.10 主机中
1.ssh root@172.25.254.20
2.mv /root/.ssh/id_rsa* /mnt ##免密连接3.reboot
4.ssh root@172.25.254.20 ##因为密钥被移除所以不能免密
5.mv /mnt/id_rsa /root/.ssh ##重新恢复密钥
6.ssh root@172.25.254.20 ##免密连接
四.Openssh 服务的安全配置
1.端口修改
$sudo vim /etc/ssh/sshd_config17 port 22 -----> port 1111
测试:
[root@westos_client ~]# ssh 172.25.254.20 -l root
ssh: connect to host 172.25.254.20 port 22: Connection refused #默认连接被拒绝
[root@westos_client ~]# ssh 172.25.254.20 -l root -p 1111
#指定的的端口连接
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Sat Apr 25 11:05:31 2020 from 172.25.254.10
2.端口绑定
$sudo vim /etc/ssh/sshd_config19 #ListenAddress 0.0.0.0 ----> ListenAddress 172.25.254.20
测试:
原 172.25.254.20 主机中
参数未发生变化:
ssh 172.25.254.20 -l root #可以
ssh 127.0.0.1 -l root #可以
参数发生变化
ssh 172.25.254.20 -l root #可以
ssh 127.0.0.1 -l root #拒绝
3.密码认证的关闭
$sudo vim /etc/ssh/sshd_config73 PasswordAuthentication no ##禁用密码认证
测试:
172.25.254.10 有密钥
172.25.254.20 无密钥
172.25.254.10 ----->ssh root@172.25.254.20 ##可以登陆
172.25.254.20 ----->ssh root@172.25.254.20 ##可以输入密码
参数更改并重启服务后
172.25.254.10 ----->ssh root@172.25.254.20 ##可以登陆
172.25.254.20 ----->ssh root@172.25.254.20 ##不可输入密码直接被拒绝
4.sshd 服务的用户控制
建立实验素材
在服务器172.25.254.20中:
$sudo useradd westos
$sudo useradd lee
$sudo echo lee| passwd --stdin westos
$sudo echo lee| passwd --stdin lee
操作完成系统中存在至少 3 个用户
用户 密码
root lee
westos lee
lee lee
#root 用户的访问控制
$sudo vim /etc/ssh/sshd_config46 PermitRootLogin yes --->PermitRootLogin no #禁止 root 用户使用 ssh 进行认证
实验:
原172.25.254.20中:
ssh 172.25.254.20 -l root ##默认输入正确秘密可以完成认证
修改参数后
ssh 172.25.254.20 -l root ##输入正确密码仍然不能登陆
#用户黑名单 (默认可以登陆,名单中的用户被禁止)
$sudo vim /etc/ssh/sshd_configDenyUser lee ##lee 用户不能使用 sshd 服务
实验:
原172.25.254.20中:
ssh 172.25.254.20 -l lee ##默认可以登陆
ssh 172.25.254.20 -l westos ##可以登陆
修改参数后
ssh 172.25.254.20 -l westos ##可以登陆
ssh 172.25.254.20 -l lee ##不可以登陆
#用户白名单 (默认不可以登陆,名单中的用户被允许)
$sudo vim /etc/ssh/sshd_configAllowUsers westos ##westos 用户可以使用 sshd 服务,默认用户被禁止
实验:
原172.25.254.20中:
ssh 172.25.254.20 -l lee ##默认可以登陆
ssh 172.25.254.20 -l westos ##可以登
ssh 172.25.254.20 -l root ##可以登陆
修改参数后
ssh 172.25.254.20 -l westos ##可以登陆
ssh 172.25.254.20 -l lee ##不可以登陆
ssh 172.25.254.20 -l root ##不可以登陆
五.远程执行命令
172.25.254.20 登陆模式选择第二个(X11 模式)
172.25.254.10中:
ssh 172.25.254.20 -l root ##此方法登陆时不能调用远程主机的图形命令
ssh -X 172.25.254.20 -l root ##当前登陆可以调用图形 -X 代表启用 x11 图形连接
ssh 172.25.254.20 -l root touch /root/Desktop/westosfile{1..10} ##直接执行命令在远程主机中
ssh 172.25.254.20 -l root -o StrictHostKeyChecking=no ##在连接主机时不检测 HOSTKEY##(屏蔽 yes、no 的输入)
六.sshd 登陆信息修改
在172.25.254.20中:
$sudo vim /etc/motd
在上述命令查看的文件中有什么字符在 ssh 登陆时就可以看到什么字符
在Linux中实现远程登陆服务相关推荐
- Linux中的远程登陆服务
Linux中的远程登陆服务 1. Openness功能 2.ssh命令的使用方法 2.1 常用参数 3.sshd的key认证 3.1 认证类型 3.2 生成非对称加密密钥 3.3 对服务器加密 4. ...
- 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服务器?租用了服务器,需要远程登录后才能管理自己的服务器.不同操作系统的服务器远程登录方法不一样,下面优与云 ...
最新文章
- matlab 2014a 升级,MATLAB R2014a从入门到精通(升级版) pdf扫描版[42MB]
- SQLSERVER使用CLR Stored Procedure导出数据到Excel
- 因果推断 - 反事实
- 互联网产品跨部门沟通的10个原则(转)
- python中线程和进程_python中线程和进程的简单了解
- 网页图表Highcharts实践教程之标签组与载入动画
- 数据结构基础(7) --循环队列的设计与实现
- 可口可乐开了家网店卖奶,价值62亿元
- php搜索文件名,PHP搜索文件且列出文件名的代码参考
- 2013dgtcs 数字编码
- Java---集合类框架图
- 这不就是微信朋友圈屏蔽功能吗?推特现在才做出来未免太迟了吧
- 电脑退出安全模式后连不上网
- 一定要独立,一定要争气
- Visual Studio 2019安装AutoCAD_2020_dotnet_wizards
- Supercharger
- 安东尼奥尼.中国.有意思镜头.2
- 51Nod-1319-跳跃游戏(三角形定理)
- 命令行有道翻译,可添加到单词本
- iOS 视图控制器的方法执行顺序
热门文章
- 游戏开发教程cocos2d-x移植之一
- React项目部署踩坑
- 只需2分钟成功注册Tiktok
- python中globals()_Python中globals()的原因?
- 像科学家一样思考python_像计算机科学家一样思考Python(第2版)
- 1个卷积核二分类0,1的神经网络的特征频率曲线
- (4)第一个单机项目手机锁----------Service的实现
- Win7 Paimei 安装
- Python绘制图像的灰度直方图、累计直方图
- 今天给我的Ubuntu服务器挂在了一个4T的硬盘却只能识别到2T,原来是因为这!涨知识了