首页 > 其他分享 >SSH

SSH

时间:2023-08-06 15:33:06浏览次数:30  
标签:sshd 登录 ssh SSH 服务端 客户端

一.SSH服务

1)SSH服务的概念和优点

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

优点:

数据传输是加密的,可以防止信息泄漏

数据传输是压缩的,可以提高传输速度

 

2)常见协议

OpenSSH 是实现SSH协议的开源软件项目,适用于各种UNIX、 Linux 操作系统。

Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动。

执行"systemctl start sshd"命令即可启动sshd 服务

sshd 服务默认使用的是TCP的22端口,安全协议版本sshv2,出来2之外还有1(有漏洞)ftp 20 21

sshd服务的默认配置文件是/etc/ssh/sshd_config ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件。

 

3)原理

 

①客户端发起链接请求

②服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)

③客户端生成密钥对

④客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密

⑤客户端发送加密值到服务端,服务端用私钥解密,得到Res

⑥服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)

⑦双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

 

4)用户登录

4.1 ssh【远程主机名】@【远程服务器主机名或者ip地址】 -p port

ssh命令 -p 端口号 当在 Linux 主机上远程连接另一台 Linux 主机时,如当前所登录的用户是 root 的话,当连接另一台主机时也是用 root 用户登录时,可以直接使用 ssh IP,端口默认即可,如果端口不是默认的情况下,需要使用-p 指定端口  

 

 4.2 ssh -l [远程主机用户名] [远程服务器主机名或IP 地址] -p port

-l : 指定登录名称

 4.3  ssh -t 20.0.0.101 ssh -t 20.0.0.102 ssh 20.0.0.103 方便跳板连接

 

5)服务器的配置

5.1 端口号配置

 修改完后重启服务

 

5.2 监听某个 ip地址

listenAddress ip

监听地址设置SSHD服务器绑定的IP 地址,0.0.0.0 表示侦听所有地址安全建议:如果主机不需要从公网ssh访问,可以把监听地址改为内网地址 这个值可以写成本地IP地址,也可以写成所有地址,即0.0.0.0 表示所有IP。

 

5.3 设置最大尝试登录次数

 

5.4 禁止 root 用户登录

 

5.5 黑白名单

在 /etc/ssh/sshd_config 中直接添加

 

白名单:

AllowUsers [email protected]  Jubjub

允许所有主机访问 Jubjub 这个用户

只允许20.0.0.100 访问 Alice这个用户

 

黑名单:

DenyUsers Jubberwock

不允许 Jubberwock 的所有主机访问我

 

5.6 常用配置

LoginGraceTime 2m

设定用户登录失败后需要等待的时间

 

PermitRootLogin yes

默认 ubuntu 不允许root 远程ssh 登录

 

StrictModes yes

检查 ./ssh 文件的所有者和权限

 

MaxAuthTries

用来设置最大失败尝试登录次数

 

MaxSession 【number】

同一个连接最大会话

 

PubkeyAuthentication yes

基于key验证

PermitEmptyPasswords no       密码验证,在真实的生产服务器上,根据不同安全级别要求,有的是设置不需要密码登陆的,通过认证的秘钥来登陆。     PasswordAuthentication yes   基于用户名和密码连接   GatewayPorts no   ClientAliveInterval 10 单位:秒   ClientAliveCountMax 3 默认3   UseDNS yes 提高速度可改为no 内网改为no 禁用反向解析   GSSAPIAuthentication yes 提高速度可改为no MaxStartups    未认证连接最大值,默认值10 Banner /path/file   以下可以限制可登录用户的办法 白名单 黑名单 AllowUsers user1 user2 user3@ip(限制主机) DenyUsers user1 user2 user3 AllowGroups g1 g2 DenyGroups g1 g2

 

 

 

标签:sshd,登录,ssh,SSH,服务端,客户端
From: https://www.cnblogs.com/tsumiki/p/17609472.html

相关文章

  • ssh 通过跳板机登陆远程服务器
    开心一刻    “老师,你认识元芳吗?”    “不”    “你认识程祖吗?”    “不”    “那你知道他们的姐是谁吗?”    “不”    “老师你都不知道,我怎么知道:原方程组的解是______?”    “……”写在前面   ......
  • jenkins 远程 ssh 部署问题记录
    脚本执行失败注意需要在sh脚本里面添加source/etc/profile脚本执行失败排查可以在jenkins的ssh命令添加日志,然后查看日志排错nohupsh/xx/xx.sh>/xx/xx.log2>&1&脚本编写注意事项在脚本开头添加cd到当前目录,确保脚本内部读取的路径正常......
  • SSH原理与实践(三)安装和使用
    主页个人微信公众号:密码应用技术实战个人博客园首页:https://www.cnblogs.com/informatics/引言在之前SSH原理与实践系列文章中,我们主要讲解了SSH协议的原理部分。作为该系列文章的最后一篇,本文将对SSH实践部分进行介绍。好文回顾......
  • Linux系统服务器启动SSH服务时出现“error while loading shared libraries”错误该如
    问题描述本文主要介绍在Linux系统服务器启动SSH服务时,命令行或secure日志文件出现类似如下的错误信息。· errorwhileloadingsharedlibraries:libcrypto.so.10:cannotopensharedobjectfile:Nosuchfileordirectory.· PAMunabletodlopen(/usr/lib64/security/pam......
  • Unity的IPreprocessShaders:深入解析与实用案例
    UnityIPreprocessShadersUnityIPreprocessShaders是Unity引擎中的一个非常有用的功能,它可以让开发者在编译Shader时自定义哪些操作需要被执行。这个可以帮助开发者更好地控制Shader的编译过程,确保在编译Shader时执行必要的操作。在本文中,我们介绍UnityIPreprocessShaders的使......
  • SMTP 通过 ssh 通道发送垃圾邮件
    通过SSH隧道传输SMTP根据设计,我们不允许校外机器使用我们的SMTP服务器。如果我们允许它,我们将允许任何和所有使用我们的SMTP服务器来分发垃圾邮件。但是也可以通过我们的SMTP服务器发送邮件,这种机制称为SMTP隧道。Linux说明1.在Linux机器上安装SSH(默认情况下应该安装)。2.运行以下命......
  • openssh
    正在使用的文件在windows下无法使用ftp工具下载,就考虑在windows下建立opensshserver,然后使用sshclient来下载的方式解决。opensshforwindows安装文件及相关说明如下:http://sourceforge.net/projects/sshwindows/http://sshwindows.sourceforge.net/http://www.openssh.com/rea......
  • [8月摸鱼计划]无法将“ssh”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
    无法将“ssh”项识别为cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次gitee生成自己的公钥之后,运行ssh-T [email protected]检测是否成功却说没办法识别ssh遇到了类似的问题在powershell会这样。所以我直接到gitbash里面去敲......
  • SSH 使用 root 权限登录 Nas
    一、启用SSH服务转到Synology设备的终端设置页面:SynologyNAS:DSM控制面板>终端机和SNMP>终端机勾选启用SSH服务。指定SSH连接的端口号并保存设置。为了确保系统安全性,建议将默认端口22替换为其他端口号。 二、sshDSM/SRM管理员帐户@DSM/SRMIP地址-pSSH......
  • [转]PuTTY的ppk密钥与OpenSSH密钥之间的相互转换
    在手机上使用juiceSSH用密钥连接服务器,以前是用win10命令行生成的私钥,使用没有问题,这次换了MobaXterm带的工具(后来发现应该是开源的PuTTY项目里的工具)生成的密钥,就登不上了,最后用文本编辑器打开两种密钥,发现格式大不一样,遂查找转换方法,找到一篇说的比较明白,特转载备用......