Linux中的远程登陆服务

.Openssh的功能

sshd服务的用途

  • 作用:可以实现通过网络在远程主机中开启安全shell的操作
  • Secure SHell     ===>ssh       ##客户端
  • Secure SHell daemon         ===>sshd      ##服务端
安装包          openssh - server
主配置文件     / etc / ssh / sshd_conf
默认端口          22
客户端命令    ssh

.ssh 

基本用法
ssh [ - l 远程主机用户 ] < ip | hostname >
ssh - l root 192.168.2.200
通过 ssh 命令在free2 主机中以 root 身份开启远程 shell
[root@free2 ~]#  ssh - l root 192.168.2.200
The authenticity of host '192.168.2.200 (192.168.2.200)' can ' t be established.
ECDSA key fingerprint is SHA256 : 1uLJ3EuYzt16BrtDrGdbjOY6wxCZcfppTLSwTI3BuCs.
Are you sure you want to continue connecting (yes / no / [fingerprint])? yes # 身份证明生成过程确认
Linux中的远程登陆服务_第1张图片
作用
当收入 < yes >
200主机会向当前主机发送身份公钥 并保存此公钥到 ~/ .ssh / know_hosts
200主机持有私钥当客户主机再次连接时会对客户主机进行身份验证
如果身份验证改变拒绝连接效果如下
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!      @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY !
Someone could be eavesdropping on you right now (man - in - the - middle attack) !
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256 : 1uLJ3EuYzt16BrtDrGdbjOY6wxCZcfppTLSwTI3BuCs.
Please contact your system administrator.
Add correct host key in / home / lee / .ssh / known_hosts to get rid of this message.
Offending ECDSA key in / home / lee / .ssh / known_hosts : 1
ECDSA host key for 192.168.2.200  has changed and you have requested strict checking.
Host key verification failed.
Linux中的远程登陆服务_第2张图片
当连接因为认证问题被拒绝时解决方案
vim -rf  ~/ .ssh / know_hosts ## 在此文件中删除报错提示相应的行即可
Linux中的远程登陆服务_第3张图片
ssh 常用参数
-l   ##指定登陆用户
-i   ##指定私钥
-X   ##开启图形
-f   ##后台运行
-o   ##指定连接参数
     ssh -l [email protected] -o "StrictHostKeyChecking=no" 首次连接不许要输入yes
-t   ##指定连接跳板
     ssh -l root 192.168.2.100 -t ssh -l root 192.168.2.200
Linux中的远程登陆服务_第4张图片

.sshd key认证 

认证类型
1. 对称加密
加密和解密是同一串字符
容易泄漏
可暴力破解
容易遗忘
2. 非对称加密
加密用公钥 解密用私钥
不会被盗用
攻击者无法通过无密钥方式登陆服务器
生成非对称加密密钥
方法 1
[root@free1 Desktop]# ssh-keygen
Generating public / private rsa key pair.
Enter file in which to save the key ( / root / .ssh / id_rsa) :    ## 输入保存密钥文件
Enter passphrase (empty for no passphrase) :    ##密钥密码
Enter same passphrase again :    ##确认密码
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:Dml0KdfKvk72cCh2xNr1o3dnnjBBkq5dfN1it7t+V1E root@free1
The key's randomart image is:
Linux中的远程登陆服务_第5张图片

 注意:以上输入密码时一般都点回车,可以免密,如果要输入密码必须大于四位数

方法2
$ssh - keygen - f / root / .ssh / id_rsa - P ""
Linux中的远程登陆服务_第6张图片
对服务器加密
ssh - copy - id - i / root / .ssh / id_rsa.pub username @westos  对用户加密,登陆时用使用密钥登陆
ssh - copy - id - i / root / .ssh / id_rsa.pub root @192.168.2.200  对root加密,登陆时用使用密钥登陆
测试
ssh -l root 192.168.2.200    ## 登陆root 用户不需要输入密码
Linux中的远程登陆服务_第7张图片

Linux中的远程登陆服务_第8张图片

sshd 安全优化参数详解 

setenforce 0
systemctl disable -- now firewalld
Port 2222   #设定端口为 2222
PermitRootLogin yes | no # 对超级用户登陆是否禁止
Linux中的远程登陆服务_第9张图片

PasswordAuthentication yes|no #是否开启原始密码认证方式 

AllowUsers lee  #用户白名单
DenyUsers lee  #用户黑名单
Linux中的远程登陆服务_第10张图片
Linux中的远程登陆服务_第11张图片

你可能感兴趣的:(linux基础,linux)