通过命令行连接远程主机时,通常要输入用户名加上主机 ip 的方式,尽管有一些图形化程序方便我们远程连接,但往往我们需要在连接服务器后进行一些命令行终端的继续操作(当然这个也同样有模拟终端的方式,但我们更倾向于一步走,
请牢记:
能用一行命令解决的不用两行
能用一个字符解决的不用两个
),这里介绍三种方式设置快速连接的命令。
1.修改 ssh 配置,命名主机
cd ~/.ssh
vi config
添加如下参数
HostName ipAddress
User userName
Port port
这样我们就可以通过 ssh hostName
进行连接
2.给命令行起别名
一个班级有 50 个人,每个人都有不同的名字,要记住这些人的名字很困难,但是如果让每个人都对应 1-50 的一个数字,我们就可以快速的定位一个单位(让计算机建立映射关系是很简单的事情)。
如我们想简化 'ls -all',来列出文件的所有内容,可以通过
alias aliasName ='ls -all'
来修改,如我想通过 ll 来等价'ls -all',便可以通过如下命令 alias ll ='ls -all'
来实现,这在我们重复的敲入一些长命令的时候是非常有用的。
我们可以用 alias sshG ='ssh root@ipAddress'
来重命名我们的 google 服务器连接,这样每次输出 sshG 再输入密码便可以了,当然,免输入密码的原理也是类似的,但是最好还是要手动输入密码确认一下。
通过配置用户根目录下的 .bash_aliases
来实现,以后在别的机器登录的时候只要将这个文件拷贝过来就可以了(将自己的配置放到诸如 github 上,需要的时候直接 pull)。
具体命令:
vi ~/.bash_aliases
在这里添加你要自定义的命令
格式如下:
alias sshG='ssh root@gopherinchina.com'
(至于为什么每一行前面都要加个 alias 这种重复的操作,我不知道:))
update config
source .bash_aliases
3.脚本
这个就很好用,单用来建立连接似乎是有些大材小用了。
当我们在命令行输入'ls'时,本质上我们是启动了一个名为 ls 的程序。这里我们仿照这种方式,通过 sh 建立一个可执行程序,在这个可执行程序的内部我们继续执行一系列的操作。
新建 sshG.sh 文件,在文件中添加如下内容
ssh userName@ipAddress```
给文件增加可执行权限 ```chmod +x sshG.sh```
为了可以更方便的使用,我们可以将它所在的目录添加到环境变量中。
通过这种形式,我们可以实现更多的功能,将不同的命令实现组合,典型的例子 dockerFile的使用。
最后大家可以自行扩展下增加秘钥的连接方式。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于