Bash脚本到特定服务器的ssh
我想知道我将如何创建自己的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
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
- 我已将其放入
中,以便能够从任何目录执行它(在OS X中,您可能需要手动将~/bin/
添加到~/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
- 我已将其放入
中,以便能够从任何目录执行它(在OS X中,您可能需要手动将~/bin/
添加到~/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上不可用,但确实可用。