一般不需要修改OpenSSH客户端配置文件。对于给定用户,共有两个配置文件:~/.ssh/config(用户专用)和/etc/ssh /ssh_config(全局共享)。要按照该顺序读取这些文件,对于给定的某个参数,它使用的是读取过程中发现的第一个配置。用户可以通过以下方式将全 局参数设置覆盖掉:在自己的用户配置文件中设置同样的参数即可。在ssh或scp命令行上给出的参数的优先级要高于这两个文件中所设置的参数的优先级。

用户的~/.ssh/config文件必须由该用户所有(他是目录"~/"的所有者),并且除了所有者之外任何人都不能写入该文件。否则客户端就会给出一条错误消息然后退出。这个文件的模式通常被设为600,这是因为除了它的所有者之外任何人没有理由能够读取它。

这些配置文件中的配置行包含着声明,这些声明均以某个关键字(不区分大小写)开头,后面跟着空格,最后是参数(区分大小写)。可以使用关键字Host,让声明只作用于特定的系统。Host声明作用于它与下一条Host声明之间的所有配置行。

CheckHostIPyesno

  如果将其设置为 yes (默认值),那么除了用 known_hosts

  文件中的主机名之外,还可以采用 IP 地址来识别远程系统。

  若设置为 no ,则只使用主机名。将 CheckHostIP 设置为 yes

  可以提高系统的安全性。

ForwardX11yesno

  如果设置为 yes ,那么自动通过一条安全通道以不可信模式

  来转发 X11 连接,但是并不设置 shell 变量 DISPLAY 。

  如果 ForwardX11Trusted 也设置为 yes, 那么连接以可信模式转发。

  此外,可以在命令行上使用选项 -X 以不可信模式重定向 X11 连接。

  这个参数的默认值是 no 。要想让 X11 转发起作用,还必须将服务器

  上的 /etc/sshd_config 文件中的 X11Forwarding 设置为 yes (参见 8.4.6 节)。

  更多信息请参见 8.6 节的“ X11 转发”部分。

ForwardX11Trustedyesno

  与 ForwardX11 一块使用时, ForwardX11 必须设置为 yes (默认),

  这个声明才能起作用。当这个声明设置为 yes (默认),而

  ForwardX11 也设置为 yes 时,这个声明将设置 shell 变量 DISPLAY ,

  并给予远程 X11 客户端对原来的(服务器) X11 显示的完全访问权限。

  此外,可以在命令行上使用选项 -Y 以可信模式重定向 X11 连接。

  这个声明的默认值是 no 。要想让 X11 转发起作用,还必须将服务

  器上的 /etc/sshd_config 文件中的 X11Forwarding 设置为 yes (参见 8.4.6 节)。

  更多信息请参见 8.6 节的“ X11 转发”部分。

HashKnownHosts

  当设置为 yes 时, OpenSSH 会将文件 ~/.ssh/known_hosts 中的

  主机名和地址进行散列。当设置为 no 时,主机名与地址将以明

  文形式写入。 UbuntuLinux 将这份声明设置为 yes 来提高系统的

  安全性。关于 known_hosts 文件的更多信息请参见 8.3.3 节第 2 小节。

Hosthostnames

  指定它后面的(直到下一个主机声明为止)声明只适用于与

hostnames 相匹配的主机。 Hostnames 可以包含 ? 与 * 通配符。

  单个的 * 指定所有主机。如果没有这个关键字,任何声明都适用于所有主机。

HostbasedAuthenticationyesno

  当设置为 yes 时,尝试进行 rhosts 身份验证。对于安全性要求较

  高的系统,设置为 no (默认)。

HostKeyAlgorithmsalgorithms

  其中 algorithms 是一个由逗号隔开的算法列表,客户端按照优

  先级顺序依次使用这些算法。从 ssh-rsa 或 ssh-dss 中选择 algorithms

  (默认值为“ ssh-rsa,ssh-dss ” )。

Portnum

  使 OpenSSH 通过 num 端口与远程系统连接。默认值为 22 。

StrictHostKeyCheckingyesno ask

  决定 OpenSSH 是否将主机密钥添加到用户的 known_hosts 文件

  中以及如何添加。如果将该选项设置为 ask ,那么在连接新系

  统时会询问是否添加主机密钥;如果设置为 no ,就会自动添加

  主机密钥;如果设置为 y e s ,就要求手工添加主机密钥。若将

  参数设置 yes 或 ask ,则当某系统的主机密钥发生改变之后,

  OpenSSH 会拒绝连接到该系统。对于安全性要求较高的系统,

  请将此参数设置为 yes 或 ask 。默认为 ask 。

TCPKeepAliveyesno

  如果设置为 yes (默认值),就定期检查连接是否存活。

  如果服务器崩溃或者由于其他原因导致连接死掉,那么这种

  检查将会导致 ssh 或 scp 连接中断,即便连接只是暂时死掉。

  若将这个参数设置为 no ,则会导致客户端不去检查连接是否存活。

  这项声明用到了 TCP keepalive 选项,它未经加密,并且容易受到

  IP 欺骗(参见术语表)。如果希望采用能够防止 IP 欺骗的替代品,

  那么可以采用基于服务器的相关技术,请参见 8.4.6 节中的“ ClientAliveInterval ”。

Username

  指定登录系统时所用的用户名。可用 Host 声明来指定系统。

  该选项意味着,在远程系统上登录时,如果使用的用户名不同

  于在本地系统上登录所用的用户名,那么不必在命令行上输入用户名。

配置文件~/.ssh/config和/etc/ssh/ssh_config相关推荐

  1. [ssh config]ssh登陆信息配置

    当你需要经常登陆到远程服务器上进行操作的时候,SSH链接是一个跳不过去的话题. 当你需要链接的服务器相对较少的时候,你可以直接记忆下对应的ip和相关信息,但是随着你需要关注的服务器越来越多,你会发现i ...

  2. 支持多个git服务器的ssh配置方法及ssh config配置解释以及ssh-agent简单介绍

    生成SSH key ssh-keygen -t rsa -C "yuhang2cs@gmail.com" - Generating public/private rsa key p ...

  3. 使用ssh config配置文件来管理ssh连接

    我本人其实及其烦使用配置文件这种东西,有时候看到巨大又复杂的配置文件,甚至复杂过代码的时候,总感觉设计配置文件的人有些本末倒置. 但是ssh这个配置文件真的非常简单好用,让我稍微体验了一次配置文件使用 ...

  4. Mac导入服务器配置文件,Mac添加ssh config配置

    目的:解决切换服务器还要输入密码等问题,安全的快速访问服务器 配置 1.打开shell 2.到根目录下.ssh文件夹 cd ~/.ssh/ 生成密钥 ssh-keygen 4.创建配置文件 vim c ...

  5. Mac添加ssh config配置,快速登录Linux系统

    shell中到根目录下.ssh文件夹 cd ~/.ssh/ 生成密钥(已经生成过的跳过这一步,gitlab等都需要的) ssh-keygen 创建配置文件 vim config 写入以下命令到conf ...

  6. Bad owner or permissions on .ssh/config win10问题解决

    Bad owner or permissions on .ssh/config win10问题解决 参考文章: (1)Bad owner or permissions on .ssh/config w ...

  7. vscode连接远程服务器遇到Bad owner or permissions on C:\\Users\\XXX/.ssh/config的解决方法

    一.vscode连接服务器 vscode连接远程服务器(傻瓜式教学) 二.出现Bad owner or permissions on C:\Users\XXX/.ssh/config vscode中报 ...

  8. Bad owner or permissions on .ssh/config的解决

    Bad owner or permissions on .ssh/config的解决 当我们在自己的服务器上搭建Git远程仓库,并让本地关联到远程仓库的时候,我们需要写一个config来让本地可以关联 ...

  9. SSH: Bad owner or permissions on .ssh/config的解决

    Bad owner or permissions on .ssh/config的解决 当为本机配一个固定用户名远程登录某主机时,配置了一个config文件,但是在执行ssh免密码登录时报如下的错误:B ...

最新文章

  1. 2022-2028年中国环保服务业投资分析及前景预测报告
  2. ubuntu 下更新pip后发生 ImportError: cannot import name ‘main‘的问题解决
  3. 分享Silverlight/Windows8/WPF/WP7/HTML5一周学习导读(5月6日-5月12日)
  4. [置顶] 我的程序员之路(4)---C语言课程设计
  5. 【Linux】一步一步学Linux——shopt命令(214)
  6. 每日一题:leetcode190.颠倒二进制位
  7. leetcode题解434-字符串中的单词数(双指针经典)
  8. CentOS安装nginx方法命令教程
  9. 几何分布的期望_超几何分布与二项分布的数学期望
  10. 多对多表的创建方式 forms组件 session与cookie
  11. 根据经纬度计算两点间的距离_全班学生被此奥数题难倒,理解两点间距离公式的几何意义是关键...
  12. OnSetCursor 及改变鼠标形状
  13. 有感于《游戏脚本高级编程》的劣质翻译
  14. 三星s9刷android9,三星S9港版安卓9rom系统线刷包:TGY-G9600ZHU5CSG8-刷机之家
  15. 多线程基础讲解五: synchronized使用
  16. 4.1.1 网络层的功能(路由选择与分组转发、异构网络互连、拥塞控制)
  17. 第1关:Series数据选择
  18. 无线桥接怎么设置网关和dns服务器,无线桥接怎么设置网关和dns服务器
  19. wps 云文档的服务器地址,在WPS云文档保存、管理文件
  20. windows的局域网渗透

热门文章

  1. python真的那么火吗-Python语言为什么这么火?
  2. python填写excel-Python向excel中写入数据的方法
  3. python电脑下载方法-python 获取机器snpython下载文件的几种常用方法
  4. python编程课程上课有用吗-Python培训网络课堂|Python编程软件有哪些功能?
  5. python下载方法-python实现下载文件的三种方法_python
  6. python自动化办公兼职-python如何实现自动化办公?
  7. python和c++哪个好找工作-python和C++语言有何优缺点?哪个更适合人工智能?
  8. python真的超过java了吗-Python 的开发效率真的比 Java高吗?
  9. 简明python教程在线-Python简明教程
  10. react-redux中的connect