iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何定制SSH来简化远程访问
  • 302
分享到

如何定制SSH来简化远程访问

2023-06-28 15:06:29 302人浏览 泡泡鱼
摘要

这篇文章给大家分享的是有关如何定制ssh来简化远程访问的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SSH是 Secure shell的缩写其主要目的就是是一个用于访问远程主机的程序,利用 SSH 协议

这篇文章给大家分享的是有关如何定制ssh来简化远程访问的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

SSH是 Secure shell的缩写其主要目的就是是一个用于访问远程主机的程序,利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

先决条件:

  1. 你必须 在你的桌面 linux 上安装好 OpenSSH 客户端。

  2. 了解通过 ssh 进行远程连接的常用选项。

SSH 客户端配置文件

以下为 ssh 客户端配置文件:

  1. /etc/ssh/ssh_config 为默认的配置文件,属于系统全局配置文件,包含应用到所有用户的 ssh 客户端的设置。

  2. ~/.ssh/config 或者 $HOME/.ssh/config 为用户指定/自定义配置文件,这个文件中的配置只对指定的用户有效,因此,它会覆盖掉默认的系统全局配置文件中的设置。这也是我们要创建和使用的文件。

默认情况下,用户是通过在 ssh 中输入密码来获取验证的,你可以以一个简单的步骤来 使用 Keygen 来设置 ssh 无密码登录。

注:如果你的系统上不存在 ~/.ssh 目录,那就手动创建它,并设置如下权限:

$ mkdir -p ~/.ssh$ chmod 0700 ~/.ssh

以上的 chmod 命令表明,只有目录属主对该目录有读取、写入和执行权限,这也是 ssh 所要求的设置。

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

该文件并不会被默认创建的,所以你需要使用具有读取/写入权限的用户来创建它。

$ touch ~/.ssh/config$ chmod 0700 ~/.ssh/config

上述文件包含由特定主机定义的各个部分,并且每个部分只应用到主机定义中相匹配的部分。

~/.ssh/config 文件的常见格式如下,其中所有的空行和以 ‘#’ 开头的行为注释:

Host  host1ssh_option1=value1ssh_option2=value1 value2ssh_option3=value1Host  host2ssh_option1=value1ssh_option2=value1 value2Host  *ssh_option1=value1ssh_option2=value1 value2

如上格式详解:

  1. Host host1 为关于 host1 的头部定义,主机相关的设置就从此处开始,直到下一个头部定义 Host host2 出现,这样形成一个完整的定义。

  2. host1 和 host2 是在命令行中使用的主机别名,并非实际的远程主机名。

  3. 其中,如 sshoption1=value1、sshoption2=value1 value2 等配置选项将应用到相匹配的主机,可以缩进以看起来更整齐些。

  4. 对于 ssh_option2=value1 value2 这样的选项,ssh 执行时会按照顺序优先使用 value1 的值。

  5. 头部定义 Host * (其中 * 为匹配模式/通配符,匹配零个或多个字符) 会匹配零个或者多个主机。

仍旧以上述的格式为例,ssh 也是也这样的形式类读取配置文件的。如果你执行 ssh 命令来访问远程主机 host1,如下:

$ ssh host1

以上 ssh 命令会进行一下动作:

  1. 匹配配置文件中主机别名 host1,并使用头部定义中的各个设置项。

  2. 继续匹配下一个主机定义,然后发现命令行中提供的主机名没有匹配的了,所以接下来的各个设置项会被略过。

  3. 最后执行到最后一个主机定义 Host *, 这会匹配所有的主机。这里,会将接下来的所有设置选项应用到所有的主机连接中。但是它不会覆写之前已经有主机定义的那些选项。

  4. ssh host2 与此类似。

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

在你理解了 ssh 客户端配置文件的工作方式之后,你可以通过如下方式来创建它。记得使用你的服务器环境中对应的选项、值 (主机别名、端口号、用户名等)。

通过你最喜欢的编辑器来打开配置文件:

$ vi ~/.ssh/config

并定义必要的部分:

Host fedora25HostName 192.168.56.15Port 22ForwardX11 noHost Centos7HostName 192.168.56.10Port 22ForwardX11 noHost ubuntuHostName 192.168.56.5Port 2222ForwardX11 yesHost *User tecmintIdentityFile ~/.ssh/id_rsaProtocol 2Compression yesServerAliveInterval 60ServerAliveCountMax 20LogLevel INFO

以上 ssh 配置文件的详细解释:

  1. HostName – 定义真正要登录的主机名,此外,你也可以使用数字 IP 地址,不管是在命令行或是 HostName 定义中都允许使用其中任一种。

  2. User – 指定以哪一个用户来登录。

  3. Port – 设置连接远程主机的端口,默认是 22 端口。但必须是远程主机的 sshd 配置文件中定义的端口号。

  4. Protocol – 这个选项定义了优先使用 ssh 支持的协议版本。常用的值为 ‘1’ 和 ‘2’,同时使用两个协议版本则必须使用英文逗号隔开。

  5. IdentityFile – 指定一个用于读取用户 DSA、Ed25519、ECDSA 等授权验证信息的文件。

  6. ForwardX11 – 定义 X11 连接是否自动重定向到安全通道和 DISPLAY 设置。有两个可以设置的值,即 yes 或 no。

  7. Compression – 默认值为 no,如果设置为 yes,则在连接远程主机过程中使用压缩进行传输。

  8. ServerAliveInterval – 设置当没有收到服务器响应 (或者数据))时的超时时间,单位为秒,ssh 会通过加密信道发送信息,请求服务器响应。默认值为 0,这意味着 ssh 不会向服务器发送响应请求;如果定义了 BatchMode 选项,则默认是 300 秒。

  9. ServerAliveCountMax – 设置服务器在没有接收到服务器的任何响应时,由服务器发送的活动信息数量。

  10. LogLevel – 定义 ssh 登录信息的的日志冗余级别。允许的值为:QUIET、FATAL、ERROR、INFO、VERBOSE、DEBUG、DEBUG1、DEBUG2 和 DEBUG3,默认为 INFO。

连接任意远程主机的标准方法是在上述两个文件中定义第二个部分(我连接的是 CentOS 7)。一般情况下,我们这样输入命令:

$ ssh -i ~/.ssh/id_rsa -p 22 tecmint@192.168.56.10

然而,使用了 ssh 客户端配置文件之后,我们还可以这样:

$ ssh centos7

你也可以在 man 帮助页面寻找更多的设置选项和使用实例:

$man ssh_config

感谢各位的阅读!关于“如何定制SSH来简化远程访问”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 如何定制SSH来简化远程访问

本文链接: https://www.lsjlt.com/news/320350.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何定制SSH来简化远程访问
    这篇文章给大家分享的是有关如何定制SSH来简化远程访问的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SSH是 Secure Shell的缩写其主要目的就是是一个用于访问远程主机的程序,利用 SSH 协议...
    99+
    2023-06-28
  • Linux中如何定制SSH来简化远程访问
    这篇文章主要介绍了Linux中如何定制SSH来简化远程访问,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。SSH 使用系统全局以及用户指定(用户自定义)的配置文件。在本文中,我...
    99+
    2023-06-12
  • Linux下怎么定制SSH来简化远程访问
    小编给大家分享一下Linux下怎么定制SSH来简化远程访问,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!先决条件:你必须 在你的桌面 Linux 上安装好 Ope...
    99+
    2023-06-16
  • 远程访问及控制——SSH
    SSH——远程访问及控制 SSH远程管理SSH定义1. SSH的端口号2. OpenSSH服务器 SSH服务端1. 查询当前的版本2. 用ssh实现远程登录3. 设置黑白名单4. 远程复制...
    99+
    2023-09-15
    ssh 网络 服务器
  • java如何实现ssh远程访问
    Java可以通过使用JSch库来实现SSH远程访问。JSch是Java Secure Channel的简称,是一个纯Java实现的S...
    99+
    2023-09-29
    java ssh
  • ssh远程无法访问linux如何解决
    本篇内容介绍了“ssh远程无法访问linux如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!获取linux的ip地址如果是阿里云或者什...
    99+
    2023-07-06
  • redis如何远程访问
    redis远程访问的方法:打开redis的配置文件“redis.conf”。将“bind 127.0.0.1”注释掉。将“protected-mode yes”改成“protected-mode no”。添加以下一行代码。daemonize...
    99+
    2024-04-02
  • 如何利用go shell重定向API来简化编程过程?
    在编程过程中,我们经常会遇到需要重定向输入输出流的情况。在Go语言中,我们可以使用shell重定向API来实现这一功能。本文将介绍如何使用Go语言中的shell重定向API来简化编程过程。 什么是重定向? 重定向是指将一个程序的输出流或输...
    99+
    2023-09-03
    shell 重定向 api
  • 如何使用Git重定向来简化ASP编程算法?
    Git是一款非常优秀的代码管理工具,它不仅可以帮助我们管理代码的版本,还可以帮助我们轻松地合并代码。在ASP编程中,我们经常需要使用Git来管理我们的代码,但是有时候我们会发现编程算法很复杂,不容易理解。那么如何使用Git重定向来简化ASP...
    99+
    2023-08-05
    编程算法 git 重定向
  • Nginx如何限制IP访问只允许特定域名访问
    目录1、找到 nginx 的配置文件2、添加新的 server3、修改 server4、访问测试总结为了我们的服务器安全,我们需要禁止直接使用 IP 访问我们的服务器,我们可以借助 ...
    99+
    2024-04-02
  • mysql如何开启远程访问
    本文小编为大家详细介绍“mysql如何开启远程访问”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql如何开启远程访问”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。mysq...
    99+
    2024-04-02
  • 宝塔面板如何绑定域名来访问
    宝塔面板绑定域名来访问的示例:打开宝塔面板页面。点击左侧“设置”,进入设置页面。在设置页面中域名文本框填写需要绑定的域名,点击“保存”设置。在打开你的域名注册商,进入控制台,将刚刚绑定的域名进行解析,指向你的服务器IP即可。...
    99+
    2024-04-02
  • window下如何远程访问redis
    window下远程访问redis的方法:在redis的安装目录下打卡命令行模式。也可以在Windows桌面使用快捷键WIN+R打开命令行模式,再切换到redis的安装目录下。在命令行模式下,输入以下命令进行远程访问。//命令语法redis-...
    99+
    2024-04-02
  • 如何修改远程访问redis
    修改远程访问redis的方法:redis是默认不允许远程连接,可以通过以下方法修改配置文件开启远程访问。打开redis的配置文件“redis.conf”。将“bind 127.0.0.1”注释掉。将“protected-mode yes”改...
    99+
    2024-04-02
  • 如何关闭远程访问redis
    关闭远程访问redis的方法:redis是默认不允许远程连接,可以通过以下方法开启远程访问,也可以通过以下方式相反操作设置来关闭,或者关闭redis服务,开启方法:打开redis的配置文件“redis.conf”。将“bind 127.0....
    99+
    2024-04-02
  • 如何实现优化centos远程SSH连接
    本篇内容介绍了“如何实现优化centos远程SSH连接”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!①通过ls -l /etc/init.d...
    99+
    2023-06-10
  • mysql如何允许远程访问
    默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。 修改用户表的数据 登入mysql后,更改 mysql ...
    99+
    2024-04-02
  • webpack-dev-server如何远程访问
    这篇文章主要介绍了webpack-dev-server如何远程访问,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。下面的package.jso...
    99+
    2024-04-02
  • Linux下如何使用PHP和重定向来简化LeetCode编程?
    LeetCode是一个非常受欢迎的算法题库,它提供了各种各样的算法题目和在线编程环境,可以帮助程序员提高算法能力。但是,LeetCode的在线编程环境并不是很方便,有时候需要大量的输入输出数据,而手动输入输出数据会非常繁琐。那么,如何在L...
    99+
    2023-09-02
    linux leetcode 重定向
  • Redis3.2如何开启远程访问
    这篇文章主要介绍了Redis3.2如何开启远程访问,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。redis默认只允许本地访问,要使redis...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作