Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在linux中使用特定标志执行ssh命令而不需要别名_Linux_Ssh - Fatal编程技术网

如何在linux中使用特定标志执行ssh命令而不需要别名

如何在linux中使用特定标志执行ssh命令而不需要别名,linux,ssh,Linux,Ssh,每次我想通过ssh连接到主机时,我都希望使用这个ssh命令和这些标志,因为它们将创建一个具有更强密码和压缩的ssh会话,从而使会话更快、更强 显然,我希望保存一些键入,而不是每次连接到主机时都必须键入所有长命令: ssh -4 -C -c blowfish-cbc user@hostname 有人能告诉我如何在不需要创建别名的情况下执行命令吗?这些都可以在您的计算机中设置。应该放在~/.ssh/config中。对于本地用户,对于全局用户,/etc/ssh/ssh\u config 用于特定连接

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

显然,我希望保存一些键入,而不是每次连接到主机时都必须键入所有长命令:

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

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

这些都可以在您的计算机中设置。应该放在
~/.ssh/config
中。对于本地用户,对于全局用户,
/etc/ssh/ssh\u config

用于特定连接的配置示例

Host foo
    User myusername
    HostName mycomputer.com
    Port 22
    Ciphers blowfish-cbc
    Compression yes
    AddressFamily inet
用于尝试连接到的所有对象的配置示例(除非被覆盖)

通过调用
ssh-foo
访问第一个示例。配置设置仅影响该机器。这样,当您使用多个键时,麻烦就少多了


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

为什么要在表外创建别名?因为这并不理想。例如,如果其他人使用计算机连接到远程主机,并且由于某些原因,这些标志会导致任何问题,他不知道是什么导致了问题,“ssh”应始终作为ssh执行,而不是原始二进制文件的修改版本。您是否与其他人共享用户?如果否,您的别名将不适用于他们;它在用户的
.bashrc
文件中,而不是他们的文件中。如果是,为什么不创建一些随机别名?也就是说,你会记住一些东西,但其他人不会意外地键入。我想让所有计算机用户都能永久记住它。我不知道为什么这个问题被否决了。希望有人能在这样做之前解释一下。问题是这些选项只对特定主机有效,而不是对每个主机都有效。@VaTo当然可以。将文件放在
/etc/ssh/ssh\u config
文件中,并将顶行设置为
Host*
@VaTo:您需要从中删除用户和主机名。@VaTo:有关详细信息,请参阅。为什么我需要在文件顶部包含行Host*?不是所有的配置都适用于所有主机吗?
Host *
    Port 22
    Ciphers blowfish-cbc
    Compression yes
    AddressFamily inet