[英]Bash script to ssh to particular server
我想知道如何创建自己的bash脚本以SSH到服务器。 我知道这很懒,但是理想情况下,我不想不必输入:
ssh username@server
而只有我自己的两个字母的命令(即没有文件扩展名,并且可以从任何目录执行)。
任何帮助将非常感激。 如果它有助于指定文件路径等,则说明我使用的是Mac OSX。
您可以在〜/ .ssh / config文件中为ssh设置配置:
Host dev
HostName mydom.example.com
User myname
然后,只需输入
$> ssh dev
这样就完成了。 另外,您可以将公钥添加到文件〜/ .ssh / authorized_keys中,这样,每次要通过ssh连接时,系统都不会提示您输入密码。
使用别名 。
例如: alias sv='ssh user@hostname'
,那么您只需键入sv
。
请确保在您的配置文件中放置别名的副本,否则别名将在会话结束时消失。
您可以创建一个这样的别名:
alias ss="ssh username@server"
并将其写入您的.bash_profile。 “ .bash_profile”是一个隐藏文件,位于您的主目录中。 如果.bash_profile还不存在(通过在主目录中键入ls -a
进行检查),则可以自己创建它。
每次打开新的shell时,都会读取并执行bash_profile文件。
您可以使用ssh-argv0
避免键入ssh
。
为此,您需要创建一个指向ssh-argv0
的链接,其中包含您要连接的主机的名称,包括用户(如果需要)。 然后,您可以执行该链接,并且ssh
将您连接到该链接名称的主机。
设置链接:
ln -s /usr/bin/ssh-argv0 ~/bin/my-server
/usr/bin/ssh-argv0
是路径ssh-argv0
我的系统上,你可能会有所不同,以检查which ssh-argv0
~/bin/
,以便可以从任何目录执行它(在OS X中,您可能需要手动将~/bin/
添加到.bash_profile
上的路径中) my-server
是my-server
的名称,如果需要设置用户,则为user@my-server
执行它:
my-server
您也可以将其与mogeb答案结合使用来配置服务器连接,以便可以使用较短的名称来调用它,并且即使该用户名与本地系统上的用户不同,也要避免包括该用户。
Host serv
HostName my-server
User my-user
Port 22
然后设置一个名为serv
ssh-argv0
链接,并使用
serv
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.