linux ssh协议服务理解及应用

SSH是一种安全网络协议,安装ssh协议工具,建立连接,在不安全的网络中建立加密通信通道 ~

OSI模型【设备控制: 物理接口层 数据链路层数据网络层 协议软件控制:TCP/IP|UDP数据传输层 应用表示会话层:ip协议基础之上的软件协议http,ftp等】
不安全win登录telnet,可以被wireshark抓包工具抓取telnet的明文密码
而抓取ssh的密码,是一堆加密后的数据

ssh登录原理

会话安全,且离不开算法加密解密的密钥文件验证交换。

无免会话建立是,=指纹数据是纯粹安全验证,通过远程主机公钥文件加密而来的=。之后你再进行身份验证
免密是,=公司钥匙配置发放后=。识别登录模式进行=公钥挑战=解密完成登录。
在这里插入图片描述

指纹信息由来

ssh-keygen -E SHA256 -lf /etc/ssh/ssh_host_ecdsa_key.pub是本地公钥原数据 加密后是本机指纹信息
确定会话连接之前==[ssh-keyscan ip]可以提取指加密指纹信息比较和发送过来的加密指纹==信息是否一样
在这里插入图片描述

SSH服务应用

需关闭防火墙和selinux,iP流量规则检查
后检查yum源,安装openssh

yum install openssh-server openssh -y

sshd基本安全配置

cp /etc/ssh/sshd_config{,.bak}
禁用root用户登录、降低权限(只能通过系统创建的普通户登录)
可能需要随机密码生成工具 yum install pwgen -y
修改 /etc/ssh/sshd_config
#PermitRootLogin yes
PermitRootLogin no

修改端口10086
Port 10086
验证查看配置和端口测试登录
grep -Ei ‘^(permitRootLogin|port)’ /etc/ssh/sshd_config
systemctl restart sshd
netstat -tunlp |grep sshd
ssh root@ip

恢复默认配置

rm -rf /etc/ssh/sshd_config{,.bak}
mv /etc/ssh/sshd_config.bak /etc/ssh/sshd_config

自定义密钥对文件

原理 默认ssh公私钥匙处理路径和文件名是固定的 例:~/.ssh/id_rsa ~/.ssh/id_rsa.pub
~/.ssh/id_dsa
~/.ssh/id_ecdsa
~/.ssh/id_ed25519
所以当你自定生成密钥对路径文件时,需要创建一个配置文件给ssh服务命令读取~ 一个远程主机对应2个位置文件
ssh-keygen -t rsa -f /root/.ssh/myRsa -N “”
cd ~/.ssh/ vim config
Host 10.0.0.10
IdentityFile /root/.ssh/myRsa
​ IdentityFile /root/.ssh/myRsa.pub
否则你可能需要固定格式命令 ssh-copy-id -i /root/.ssh/myRsa.pub 10.0.0.10

多嘴下openssh,sshd服务排错思路

看报错systemctl status shd | journalctl -xe
看日志 cat /var/log/messages
检查配置文件语法 sshd -t
手动启动dbug
/usr/sbin/sshd -D -d
最后搞清配置文件配置项作用(不是有配置项就行),程序交互原理
觉得都没问题重装看看,不行退回快照

/usr/sbin/sshd -D -ddebug1: sshd version OpenSSH_7.4, OpenSSL 1.0.2k-fips 26 Jan 2017debug1: private host key #0: ssh-rsa SHA256:nZXckyu2eZaNG2unb0192Sqh58aYuoIUeL1/OHuNb0ldebug1: private host key #1: ecdsa-sha2-nistp256 SHA256:rSGpb927YSvypgkBGH8oGLCNTionKjolrfufgBUDg2debug1: private host key #2: ssh-ed25519 SHA256:3KhrYYpz0SofyeATjGtohNWoyEgmW9SFQJbMHzc6j24debug1: rexec_argv[0]=‘/usr/sbin/sshd’debug1: rexec_argv[1]=’-D’debug1: rexec_argv[2]='-d’debugi:
Set /proc/self/oom score ad.
Set /proc/self/oom score ad.
i from 8 to -1888ldebug1: Bind to port 22 on 172.16.1.10.
i from 8 to -1888ldebug1: Bind to port 22 on 172.16.1.10.
Bind to port 22 on 172.16.1.10 failed: Cannot assigm requested address.
Bind to port 22 on 172.16.1.10 failed: Cannot assigm requested address.
Canmot bind any address.

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值