【问题标题】:How can I execute ssh command in linux with specific flags without the need of an alias如何在不需要别名的情况下在 linux 中使用特定标志执行 ssh 命令
【发布时间】:2017-07-08 04:26:47
【问题描述】:

每次我想通过 ssh 连接到主机时,我都想使用带有这些标志的 ssh 命令,因为它们会创建一个具有更强密码和压缩能力的 ssh 会话,从而使会话更快更强。

显然我想节省一些输入,而不必每次连接主机时都输入所有长命令:

ssh -4 -C -c blowfish-cbc user@hostname

谁能告诉我如何在不需要创建别名的情况下执行命令?

【问题讨论】:

  • 为什么要在表外创建别名?
  • 因为不理想。例如,如果其他人使用计算机连接到远程主机,并且由于某种原因这些标志造成任何麻烦,他将不知道导致问题的原因 'ssh' 应始终作为 ssh 而不是修改版本的原始二进制文件。
  • 您是否与其他人共享用户?如果不是,您的别名将不适用于他们;它在您的 用户的.bashrc 文件中,而不是他们的。如果是,为什么不创建一些随机别名?也就是说,您会记住但其他人不会意外输入的内容。
  • 我想让所有计算机用户永久使用它
  • 我不知道为什么这个问题被否决了。希望有人能在做之前解释一下。

标签: linux ssh


【解决方案1】:

这都可以在您的ssh config file 中设置。应该放在~/.ssh/config。对于本地用户,/etc/ssh/ssh_config 对于全球用户。

用于特定连接的配置示例。

Host foo
    User myusername
    HostName mycomputer.com
    Port 22
    Ciphers blowfish-cbc
    Compression yes
    AddressFamily inet

适用于您尝试连接的所有内容的配置示例(除非被覆盖)。

Host *
    Port 22
    Ciphers blowfish-cbc
    Compression yes
    AddressFamily inet

通过调用ssh foo 访问第一个示例。配置设置影响该机器。这可以让您在使用多个键时减少很多麻烦

第二个示例会将设置应用于所有主机(注意 *),除非它们被命令或其他配置覆盖。

【讨论】:

  • 问题是这些选项仅适用于特定主机,而不适用于所有主机。
  • @VaTo 确定可以。将文件放入/etc/ssh/ssh_config文件中,并将第一行设置为Host *
  • @VaTo:不过,您需要从中删除用户和主机名。
  • @Vato:请参阅this answer 了解更多信息。
  • 为什么我需要在文件顶部包含 Host * 行?不是所有配置都适用于所有主机了吗?
猜你喜欢
  • 2013-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-13
  • 2017-05-18
  • 1970-01-01
  • 2014-12-07
相关资源
最近更新 更多