linux自定义SSH连接以简化远程访问

VSole2021-11-02 08:30:18
SSH (SSH client) 是一个远程访问服务器的程序,它使用户能够在远程主机上执行命令。它是最推荐的远程登录主机的方法之一,因为它旨在通过不安全的网络在两个不受信任的主机之间提供安全的加密通信。
SSH使用系统范围和用户特定(自定义)配置文件。在本教程中,我们将解释如何创建自定义ssh配置文件并使用某些选项连接到远程主机。

SSH 客户端配置文件

ssh客户端配置文件的位置:
  1. /etc/ssh/ssh_config这是默认的、系统范围的配置文件。它包含适用于ssh客户端计算机的所有用户的设置。
  2. ~/.ssh/config$HOME/.ssh/config 是特定于用户的自定义配置文件。它具有适用于特定用户的配置。因此,它会覆盖系统范围配置文件中的默认设置。这是我们将创建和使用的文件。
默认情况下,用户在ssh中使用密码进行身份验证,但是,你可以通过5个简单的步骤使用ssh keygen设置ssh无密码登录。
Note:如果~/.ssh在家目录不存在,需要创建一下。
$ mkdir -p ~/.ssh
$ chmod 0700 ~/.ssh

如何创建用户特定的SSH配置文件

默认情况下通常不会创建此文件,因此你需要仅使用用户的读/写权限创建它。
$ touch ~/.ssh/config
$ chmod 0700 ~/.ssh/config
~/.ssh/config格式如下,所有空行以及以#开头的行都被视为注释:
Host    host1
 ssh_option1=value1
 ssh_option2=value1 value2
 ssh_option3=value1 

Host    host2
 ssh_option1=value1
 ssh_option2=value1 value2

Host  *
 ssh_option1=value1
 ssh_option2=value1 value2
从上面的格式:
  1. Host host1:标题是 host1
  2. host1host2:只是在命令行上使用的主机别名,它们不是远程主机的实际主机名。
  3. 对于一个选项,例如 ssh_option2=value1 value2, 首先用 value1,然后用 value2.
  4. Host *(其中 *是模式 - 匹配零个或多个字符的通配符)将匹配零个或多个主机。
执行ssh命令远程访问host1
$ ssh host1
上面的ssh命令将执行以下操作:
  1. 匹配 host1配置段
  2. 继续尝试匹配 host2, 但是 host1不能匹配上 host2,因此此处未使用任何选项。
  3. 进入最后一项, Host *,匹配所有主机。这里是一些通用的配置。但它不能覆盖上一项中已经使用的任何选项值。

如何使用用户特定的SSH配置文件

了解ssh客户端配置文件的工作原理,你就可以按如下方式创建它。
编辑配置文件:
$ vi ~/.ssh/config
Host fedora25
        HostName 192.168.1.111
        Port 22
        ForwardX11 no

Host centos7
        HostName 192.168.1.112
        Port 22
        ForwardX11 no

Host ubuntu
        HostName 192.168.1.113
        Port 23
        ForwardX11 yes

Host *
        User rumenz
        IdentityFile ~/.ssh/id_rsa
        Protocol 2
        Compression yes
        ServerAliveInterval 60
        ServerAliveCountMax 20
        LogLevel INFO
以上ssh配置选项的详细说明。
  1. HostName – 定义要登录的真实主机名,或者,你可以使用数字IP地址
  2. User – 指定登录的用户。
  3. Port – 设置远程主机上连接的端口号,默认为 22. 使用远程主机的 sshd 配置文件中配置的端口号。
  4. Protocol– 此选项按优先顺序定义 ssh 应支持的协议版本。通常的值是 1 和 2, 多个版本必须以逗号分隔。
  5. IdentityFile – 指定从中读取用户的DSA、Ed25519、RSA 或 ECDSA 认证身份的文件。
  6. ForwardX11– 定义X11连接是否将通过安全通道和DISPLAY集自动重定向。它有两个可能的值 yes 或者 no.
  7. Compression – 它用于在与远程连接期间设置压缩。默认是 no.
  8. ServerAliveInterval– 以秒为单位设置超时间隔,如果没有收到来自服务器的响应(或数据),ssh将通过加密通道发送消息以请求服务器的响应。默认值为 0,意味着不会向服务器发送消息。
  9. ServerAliveCountMax – 设置可以在ssh未收到服务器任何响应的情况下发送的服务器活动消息的数量。
  10. LogLevel– 定义从ssh记录消息时使用的详细级别。允许的值包括:QUIET、FATAL、ERROR、INFO、VERBOSE、DEBUG、DEBUG1、DEBUG2 和 DEBUG3。默认值为 INFO。
一般我们可以用以下命令链接到远程服务器
$ ssh -i ~/.ssh/id_rsa -p 22 rumenz@192.168.1.112
但是,通过使用ssh客户端配置文件,我们可以简单输入以下命令:
$ ssh centos7
你可以在ssh客户端配置手册页中找到更多选项和用法示例:
$ man ssh_config
ssh用户配置文件
本作品采用《CC 协议》,转载必须注明作者和本文链接
恶意软件开发人员正在不断更新他们的传播方式。然而,正如CLoader所证实的那样,这是一种不容忽视的感染方法。CLoader于2022年4月首次被发现。用于签署恶意软件的证书很可能被盗。在整个活动过程中,受感染的受害者总数约为80人。在2022年第四季度,共发现来自超过2000个唯一IP地址的112,000个RapperBot感染尝试。
Windows 提权命令指南
2021-11-08 06:46:03
介绍特权升级总是被归结为适当的枚举。但要完成适当的枚举,你需要知道要检查和查找的内容。这通常需要伴随着经验的丰富而对系统非常熟悉。希望本指南能为你的入门提供良好的基础知识。
D-Eyes为绿盟科技开源的一款检测与响应工具,支持在Windows、Linux操作系统下使用...。
由于低权限用户无法执行太多操作,可以利用反弹上传Churrasco.exe,后续可以利用它来做提权。输入net user指令查看是否添加成功,最后提权成功。linux系统提权思路linux基础信息收集uname -a 显示全部系统信息cat /etc/issue 内核信息。
是一个远程访问服务器的程序,它使用户能够在远程主机上执行命令。它是最推荐的远程登录主机的方法之一,因为它旨在通过不安全的网络在两个不受信任的主机之间提供安全的加密通信。在本教程中,我们将解释如何创建自定义ssh配置文件并使用某些选项连接到远程主机。它包含适用于ssh客户端计算机的所有用户的设置。因此,它会覆盖系统范围配置文件中的默认设置。
SystemedMiner挖矿木马分析处置 登陆到受害主机去查看一下,查看下进程CPU使用率正常,并无挖矿迹象(要注意的是区分系统进程和木马进程,因为很多木马的进程都是以随机字符名称出现的,例如kswapd1和kswapd0也比较类似,但是这两个进程是系统进程,所以不要混淆,在删进程前要先查询一下其作用,其实如果挖矿进程在跑的话,很容易便会发现其进程PID和名称)
Docker 很好的对单机应用进行了镜像化的封装,实现在单机上 Build Ship Run, 从此单机上应用的运行没有什么是一个 docker run 解决不了的。再看集群和分布式应用,以前 IaaS 主导的云计算只对资源进行了抽象,显然一个操作系统是承上启下的作用
linux常见backdoor技术
2021-09-02 07:33:03
最近遇到一些和后门相关的技术,所以把之前linux backdoor相关笔记重新学习和整理了一下。在这里做一下记录,后续有时间整理一下windows backdoor方面的技术。 在服务器被入侵后进行应急响应无非通过文件排查、网络排查、进程排查、系统信息排查等方法进行入侵排查。下面就一些常见留后门技巧以及公开的工具进行剖析介绍。
现在只对常读和星标的公众号才展示大图推送,建议大家把潇湘信安“设为星标”,否则可能看不到了!0x00 前言对国外某地产公司的一次测试,测试过程中每一步都有阻碍,不像以往的一帆风顺,对其中涉及的一些点进行一个简单的记录,码较厚,见谅。
描述SUID代表设置的用户ID,是一种Linux功能,允许用户在指定用户的许可下执行文件。
VSole
网络安全专家