位置: IT常识 - 正文

Linux下定制SSH来简化远程访问的方法(linux如何配置ssh)

编辑:rootadmin
SSH (指SSH客户端)是一个用于访问远程主机的程序,它使得用户能够在远程主机上执行命令。今天小编要为大家带来的是Linux下定制SSH来简化远程访问的方法!希望能够帮助到大家!有需要的... 17-03-30

推荐整理分享Linux下定制SSH来简化远程访问的方法(linux如何配置ssh),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux ssh gui,linux ssh gui,linux配置ssh,linux sshkey,linux ssh -v -p,linux 设置ssh,linux ssh gui,linux ssh gui,内容如对您有帮助,希望把文章链接给更多的朋友!

SSH 使用系统全局以及用户指定(用户自定义)的配置文件。在本文中,我们将介绍如何创建一个自定义的 ssh 配置文件,并且通过特定的选项来连接到远程主机。

SSH (指 SSH 客户端)是一个用于访问远程主机的程序,它使得用户能够 在远程主机上执行命令。这是在登录远程主机中的最受推崇的方法之一,因为其设计目的就是在非安全网络环境上为两台非受信主机的通信提供安全加密。

SSH 使用系统全局以及用户指定(用户自定义)的配置文件。在本文中,我们将介绍如何创建一个自定义的 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 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 的头部定义,主机相关的设置就从此处开始,直到下一个头部定义 Host host2 出现,这样形成一个完整的定义。

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

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

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

Linux下定制SSH来简化远程访问的方法(linux如何配置ssh)

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

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

$ ssh host1

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

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

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

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

4.ssh host2 与此类似。

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

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

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

$ vi ~/.ssh/config

并定义必要的部分:

Host fedora25 HostName 192.168.56.15 Port 22 ForwardX11 no Host centos7 HostName 192.168.56.10 Port 22 ForwardX11 no Host ubuntu HostName 192.168.56.5 Port 2222 ForwardX11 yes Host * User tecmint IdentityFile ~/.ssh/id_rsa Protocol 2 Compression yes ServerAliveInterval 60 ServerAliveCountMax 20 LogLevel 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

至此,文毕。我们在文中向你介绍了在 Linux 中如何使用用户指定 (自定义) 的 ssh 客户端配置文件。

本文链接地址:https://www.jiuchutong.com/zhishi/283328.html 转载请保留说明!

上一篇:hpwuschd.exe是什么软件的进程 起到哪些什么作用 hpwuschd进程安全吗(hp workwise service是什么)

下一篇:windows无法验证此文件的数字签名解决方法(windows无法验证显卡驱动的数字签名)

  • 一般纳税人发生特定应税销售行为
  • 旅游业成本具体有哪些
  • 减税性质代码及名称是什么意思
  • 应税劳务销售额税率
  • 收到天使投资如何做账
  • 包装纸箱属于原材料吗
  • 委托贷款的资金借出方是谁
  • 法人资本个人资本
  • 房租发票上税的分录怎么写?
  • 汽修店的服务项目有哪些
  • 项目所在地怎么填
  • 公司对公租车保险的规定
  • 劳务发票可以做费用吗怎么做
  • 无法读取金税盘时间版本怎么解决
  • 合作经营收入分成发票税务名称怎么填
  • 主营业务成本与其他业务成本的区别
  • 固定资产清理是什么项目
  • 无票收入科目
  • 苹果11屏幕尺寸长宽
  • 新个人所得税的发展现状
  • 接待客人后的感受和过程
  • 如何设置win10电脑开机不黑屏
  • 细说php
  • Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
  • php技术基础知识
  • php可以连接access吗
  • linux取消静态ip
  • deldir.exe是什么
  • 出租设备的租金收入应计入什么科目
  • 借款凭证会计分录是什么
  • 股权转让有溢价分录怎么写
  • 存货的核算方法一次可以选用几个
  • 其他综合收益什么类科目
  • 基于深度学习的轴承寿命预测实践,开发CNN、融合LSTM/GRU/ATTENTION
  • 支付银行贷款利息现金流量表填哪里
  • 长期待摊费用属于调整账户吗
  • centos7.1
  • mongodb数据查询
  • sqlyog
  • 增值税专用发票怎么开
  • 转回存货跌价准备的会计分录
  • 报销货物运输费需要什么凭证
  • 汇算清缴没有调整怎么办
  • 年末计提哪些科目
  • 股份支付属于应付职工薪酬吗?
  • 一般纳税人销售旧货可以开专票吗
  • 其他应收款的账龄如何计算时间
  • 合同资产和合同负债的区别
  • 消费税为什么是中央税还是地方税
  • 坏账核销在企业所得税汇算清缴的填写
  • 土地回收补偿费怎么算
  • 取得与收益相关的政府补助计入什么科目
  • 车辆违章处理有什么规定
  • 调整以前年度的费用怎么做
  • 以前年度多计提的税金怎么调整
  • 劳务公司开出发票没有收到钱,怎么做成本
  • 企业应按照有关规定结合本企业
  • 建账怎么建
  • iis7配置asp
  • gzip压缩慢
  • oracle linux6.9
  • window10重启按什么键
  • win1020h2累积更新
  • win10系统打开word出现水渍
  • macbook怎么开启
  • win10如何禁用windows defender
  • win7电脑关机出现0xc0000142是什么原因
  • ExtJS 2.0实用简明教程 之Border区域布局
  • unity制作ar手机游戏
  • 各种常用的js函数有哪些
  • jQuery插件开发
  • mongoose怎么用
  • linux监控程序
  • c语言深入剖析
  • JavaScript基础教程
  • javascript基础教程答案
  • pycharm sftp
  • javascript可以做动态网页吗
  • python 包 __init__
  • 税局可以办理哪些业务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设