一个终端命令让你的SSH连接管理效率翻倍,别再一个个敲IP了
哎哟,本宫瞧瞧,这是哪位“勤快人”又在终端里一个字母一个字母地敲那长串IP地址呢?192.168.1.100?还是172.20.10.5?敲得挺起劲啊,手指头不酸吗?眼瞅着皇上那边服务器都开了七八台了,您还在这儿玩“数字记忆游戏”呢?啧,本宫都替您那所剩无几的耐心捉急。
今儿个,本宫就发发善心,教你一招“偷懒”的绝活儿。管保你用完之后,对着终端都能笑出声来,再也不必跟那串数字较劲了。这法子不新,但架不住好用啊,偏偏就有那么多榆木脑袋不知道,每次看你们重复劳动,本宫这心里啊,就跟看见御膳房把山珍海味煮成一锅糊糊似的,又气又可惜。
一、你是不是也这样“勤快”?
先别急着学,对号入座看看。你每次连接服务器,是不是这样: 打开终端,输入“ssh root@123.45.67.89”,回车,等密码。下次,再重复一遍。换台机器?好,再来一遍“ssh admin@198.51.100.23”。端口不是默认22?那还得加上“-p 2222”。一天要是连个十回八回,本宫光是看着你这重复操作,都觉得这屏幕得脏出火星子来。省下来这点时间,它不香吗?去给本宫的茶盏添点水不好吗?
二、秘密武器:那个藏在暗处的小本本
其实,你的家目录下,一直藏着个可以帮你“记事”的小本本,路径是“~/.ssh/config”。没这个文件?那就自己新建一个。对,就是新建一个名字叫“config”的纯文本文件,别手贱加个“.txt”后缀,当本宫没提醒你。
这个文件,就是你的“通讯录”和“快捷指令”。把你那些常用的服务器IP、用户名、端口,统统告诉它,以后就不用你亲自开口了。
三、怎么写?给本宫看仔细了
打开这个config文件,往里面填东西,格式就跟你写奏章似的,得分段:
比如,你有台破服务器,IP是123.45.67.89,用户名是root,端口还是特殊的2222。以前你得敲“ssh -p 2222 root@123.45.67.89”,对吧?现在,你在config里这么写:
Host my-dev-server HostName 123.45.67.89 User root Port 2222
看到没?“Host”后面,你给它起个爱称,比如“my-dev-server”,或者更损点叫“那台破机器”。下面三行,分别是它的大名(HostName)、你要用的身份(User)、它的门牌号(Port)。保存。
下次连接?在终端里,只需要输入:“ssh my-dev-server”,回车。齐活儿。什么?还需要密码?那是当然,除非你配了密钥。但至少你连IP和端口都不用记了,这效率,本宫说翻倍都算谦虚。
四、进阶玩法:让本宫再教教你几招
觉得这就完了?呵,天真。
你可以批量管理。比如你有一组机器都用同一个用户名(比如deploy),你可以这么写: Host prod-* User deploy
所有以“prod-”开头的别名,都会自动用deploy这个用户登录。以后什么“prod-web1”、“prod-db”,都只管连,身份它自己就填好了。
还可以给不同的服务器指定不同的身份文件(私钥)。比如这台用公司密钥,那台用个人密钥,在Host段下面加一行“IdentityFile ~/.ssh/id_rsa_company”,妥了,再也不会搞混。
五、避坑!别怪本宫没唠叨
第一,config文件权限!必须是“600”!必须是!只有你自己能读写。终端里敲“chmod 600 ~/.ssh/config”回车。要是权限不对,SSH会嫌它“不干净”,直接忽略,你写再多也白搭。这就像你把奏章写在大街上,皇上能看吗?
第二,拼写!Host后面的别名你自己起,但下面的HostName、User、Port这些关键词,少一个字母,多一个空格,它就不认识了。写错了可别跑来哭诉“本宫的命令不好使”。
第三,IP地址最好用域名或者静态IP。万一你服务器IP哪天变了(虽然概率不大),你得记得回来改config文件。不然,你对着“my-dev-server”喊破喉咙,它也找不到北。
六、所以,还愣着干嘛?
本宫话都说到这份上了,你要是还不动手改改你的config文件,那本宫也只能说,你这“勤快”劲儿,怕是没救了。省下来那些敲IP的时间,哪怕去给御花园的花浇浇水,都比对着屏幕发愣强。
行了,教程本宫给完了,爱用不用。去把那个小本本找出来,填上你的“爱称”和密码,让本宫清静清静。下次再让本宫看见你手动敲IP,仔细你的手……哦不,仔细你的键盘!
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时






