Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.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
Bash脚本到特定服务器的ssh_Bash_Macos_Ssh_Terminal_Scripting - Fatal编程技术网

Bash脚本到特定服务器的ssh

Bash脚本到特定服务器的ssh,bash,macos,ssh,terminal,scripting,Bash,Macos,Ssh,Terminal,Scripting,我想知道我将如何创建自己的bash脚本来ssh到服务器。我知道这很懒,但我最好不要输入: ssh username@server 只需使用我自己的两个字母的命令即可(即没有文件扩展名,并且可以从任何目录执行) 任何帮助都将不胜感激。如果它有助于指定文件路径等,我使用的是Mac OS X。您可以在文件~/.ssh/config中为ssh设置配置: Host dev HostName mydom.example.com User myname 然后,只需键入 $> ssh

我想知道我将如何创建自己的bash脚本来ssh到服务器。我知道这很懒,但我最好不要输入:

ssh username@server
只需使用我自己的两个字母的命令即可(即没有文件扩展名,并且可以从任何目录执行)


任何帮助都将不胜感激。如果它有助于指定文件路径等,我使用的是Mac OS X。

您可以在文件~/.ssh/config中为ssh设置配置:

Host dev
    HostName mydom.example.com
    User myname
然后,只需键入

$> ssh dev

你完成了。此外,您可以将公钥添加到文件~/.ssh/authorized\u keys中,这样您就不会在每次希望通过ssh连接时都收到输入密码的提示。

您可以在文件~/.ssh/config中为ssh设置配置:

Host dev
    HostName mydom.example.com
    User myname
然后,只需键入

$> ssh dev
你完成了。此外,您还可以将公钥添加到~/.ssh/authorized_keys文件中,这样您就不会在每次希望通过ssh连接时都收到输入密码的提示。

使用密码

例如:
alias sv='sshuser@hostname“
,然后您只需键入
sv

请确保在您的个人资料中放置别名的副本,否则它们将在会话结束时消失。

使用别名

例如:
alias sv='sshuser@hostname“
,然后您只需键入
sv


请确保在您的配置文件中放置别名的副本,否则它们将在会话结束时消失。

您可以创建如下别名:

alias ss=“sshusername@server“
并将其写入您的.bash\u配置文件。“.bash_profile”是一个隐藏文件,位于您的主目录中。如果.bash_配置文件还不存在(通过在主目录中键入
ls-a
进行检查),您可以自己创建它


每次打开新shell时,都会读取并执行bash_配置文件。

您可以创建如下别名:

alias ss=“sshusername@server“
并将其写入您的.bash\u配置文件。“.bash_profile”是一个隐藏文件,位于您的主目录中。如果.bash_配置文件还不存在(通过在主目录中键入
ls-a
进行检查),您可以自己创建它

每次打开新shell时,都会读取并执行bash_配置文件。

您可以使用以避免键入
ssh

为此,您需要创建一个指向
ssh-argv0
的链接,其中包含要连接的主机的名称,如果需要,还包括用户。然后您可以执行该链接,
ssh
将您连接到链接名所在的主机

实例 设置链接:

ln -s /usr/bin/ssh-argv0 ~/bin/my-server
  • /usr/bin/ssh-argv0
    是我的系统上
    ssh-argv0
    的路径,您的路径可能不同,请检查
    哪个ssh-argv0
  • 我已将其放入
    ~/bin/
    中,以便能够从任何目录执行它(在OS X中,您可能需要手动将
    ~/bin/
    添加到
    .bash\u profile
    上的路径)
  • my server
    是我的服务器的名称,如果需要设置用户,它将是
    user@my-服务器
执行它:

my-server
甚至更多 您还可以将此功能与配置服务器连接相结合,以便可以使用较短的名称调用它,并避免包含用户,即使该用户与本地系统上的用户不同

Host serv
    HostName my-server
    User my-user
    Port 22
然后设置一个名为
serv
的链接到
ssh-argv0
,并使用

serv
您可以使用以避免键入
ssh

为此,您需要创建一个指向
ssh-argv0
的链接,其中包含要连接的主机的名称,如果需要,还包括用户。然后您可以执行该链接,
ssh
将您连接到链接名所在的主机

实例 设置链接:

ln -s /usr/bin/ssh-argv0 ~/bin/my-server
  • /usr/bin/ssh-argv0
    是我的系统上
    ssh-argv0
    的路径,您的路径可能不同,请检查
    哪个ssh-argv0
  • 我已将其放入
    ~/bin/
    中,以便能够从任何目录执行它(在OS X中,您可能需要手动将
    ~/bin/
    添加到
    .bash\u profile
    上的路径)
  • my server
    是我的服务器的名称,如果需要设置用户,它将是
    user@my-服务器
执行它:

my-server
甚至更多 您还可以将此功能与配置服务器连接相结合,以便可以使用较短的名称调用它,并避免包含用户,即使该用户与本地系统上的用户不同

Host serv
    HostName my-server
    User my-user
    Port 22
然后设置一个名为
serv
的链接到
ssh-argv0
,并使用

serv

Mac OS X是Unix,不是Linux。我不明白你在追求什么。您想要一个脚本来阻止您键入30个字符吗?如果您希望只在ssh会话中运行脚本,那么可以使用此线程中的信息。我正在寻找一个脚本,以缩写什么,否则我将不得不写。我不想在shh会话中运行脚本。Mac OS X是Unix,不是Linux。我不明白你想要什么。您想要一个脚本来阻止您键入30个字符吗?如果您希望只在ssh会话中运行脚本,那么可以使用此线程中的信息。我正在寻找一个脚本,以缩写什么,否则我将不得不写。我不想在shh会话中运行脚本。我尝试过这样做,但在使用别名时它会显示“ssh:command not found”。这很奇怪,因为如果我正常使用ssh,它会工作。我尝试过这样做,但在使用别名时它会显示“ssh:command not found”。这很奇怪,因为如果我正常使用ssh,它可以正常工作。请注意,
ssh-argv0
是对很久以前删除的ssh功能的替换。它在MacOS上不可用,但在MacOS上可用。请注意,
ssh-argv0
取代了很久以前删除的ssh功能。它在MacOS上不可用,但确实可用。