如何保存经常使用的 SSH 主机以便通过终端访问?

如何保存经常使用的 SSH 主机以便通过终端访问?

我有一个经常进入的主机ssh。但我不想一次又一次地进入它。我应该为此使用环境变量吗?或者有更好的方法吗?

我不会介意使用一个通用的解决方案来保存单个 bash 会话之外存在的常用变量。

答案1

环境变量用于将信息传达给你在 shell 中启动的多个命令/进程,这些命令或进程预计存在于环境中。通常此类变量包括选项,例如LESS将常用选项传递给less分页器的变量,PERL5LIB用于在非标准位置查找 perl 模块,LC_LANG用于传达命令应使用哪种语言进行输出。

如果该 URL 是供您自己使用的特定命令,请使用别名alias au='firefox https://askubuntu.com或函数来open_url(){ firefox "$@" }打开您在命令行上提供的任意 URL 作为函数的位置参数。

在某些情况下ssh,您可以在配置文件中定义连接属性,如Lekensteyn 的回答

  1. 定义~/.ssh/config文件,内容如下

    Host meh
        HostName meh.example.com
        User admin
        Port 1234
        IdentityFile ~/.ssh/id_rsa
    
  2. 使用ssh meh配置文件连接到主机。

答案2

我还建议创建一个别名。

编辑主目录中的.bashrc(或类似文件)。添加几个别名,例如:.profile

alias go='ssh url1'
alias go2='ssh url2'

然后,重新登录/重新连接并输入gogo2

答案3

我建议结合谢尔盖刘易斯的最大程度提高懒惰效率的答案:

首先创建主机条目ssh

定义~/.ssh/config文件,内容如下

    Host meh
        HostName meh.example.com
        User admin
        Port 1234
        IdentityFile ~/.ssh/id_rsa

现在ssh meh可以使用了,但可能还是很长。有自动完成功能(在ssh[Blank] 之后),但输入的内容仍然很多。

因此我们还定义一个alias

编辑.bashrc本地主目录。添加别名,例如:

alias meh='ssh meh'

现在,您只需meh在终端窗口中输入“meh.example.com”即可连接到它。如果您想使用更长的字符串而不是“meh”,实际上可以使用 [Tab] 键自动完成。

或者如果你真的偷懒,就定义一个字符作为别名吧:

alias m='ssh meh'

因此,如果你输入然后按 Enter/Return,您的 ssh 连接将立即启动!

答案4

我通常只创建一个.sh包含 ssh 命令的。例如:

# file name: mywebsite-live.sh
ssh [email protected] # or whatever the domain is.

然后运行它我只需这样做./mywebsite-live.sh

我意识到这可能是一个非常糟糕的解决方案,但它对我有用,并且希望它对其他人也有用。

相关内容