mac ssh config怎么配置才能三秒连服务器?Mac下SSH快速配置与连接远程服务器
有没有试过每次连服务器都要输入一长串命令?像什么ssh root@192.168.1.100 -p 2222,输错个小数点就得重来...这时候你就需要ssh config这个神器了!今天就教你在mac上玩转这个"服务器通讯录",让你连服务器的速度比外卖小哥接单还快!
一、配置文件是啥?能当饭吃吗?
说白了就是给服务器起外号的本子!在~/.ss *** 件夹里新建个config文件(没有就自己建),格式长这样:
Host my_server # 随便起个顺口的外号
HostName 192.168.1.100 # 服务器真实IP
User root # 登录用户名
Port 2222 # 特殊端口要写,默认22不用
IdentityFile ~/.ssh/id_rsa # 密钥地址
保存之后直接ssh my_server就能连,比记女朋友生日还简单。不过要注意文件权限必须设置成600,不然ssh会傲娇不认账。
二、密钥配置:免密登录的魔法棒
生成密钥对
终端敲ssh-keygen -t rsa,连按三次回车搞定。这时候你的.ss *** 件夹里会出现id_rsa(私钥)和id_rsa.pub(公钥)两个文件。公钥传服务器
用ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.100,输完密码就永久免密了。这招特别适合要管理十几台服务器的运维狗。密钥权限检查
私钥文件必须设置600权限,否则ssh会拒绝连接。用chmod 600 ~/.ssh/id_rsa解决。
三、进阶骚操作:速度与激情
场景1:跨云厂商管理
在config里分区块写:
Host aliyun
HostName 47.101.12.34
User ubuntu
IdentityFile ~/.ssh/aliyun_key
Host tencent
HostName 118.24.56.78
User admin
Port 2222
这样ssh aliyun和ssh tencent就能秒切不同云服务器,比切换微信账号还方便。
场景2:跳板机连接
配置跳板机中转:
Host jump_server
HostName 跳板机IP
User jumper
IdentityFile ~/.ssh/jump_key
Host 内部服务器
HostName 10.10.1.100
ProxyCommand ssh -W %h:%p jump_server
这招能让本地直连内网服务器,比VPN还稳。
四、避坑指南:血泪经验
连不上报错?
先ssh -v -T git@github.com测试密钥是否生效,再看服务器是否开启密钥登录(检查/etc/ssh/sshd_config里的PubkeyAuthentication yes)配置文件不生效?
检查三点:
- 文件路径必须是~/.ssh/config
- 每行开头不能有空格(要用Tab缩进)
- Host后面不要带.com/.cn等后缀多密钥管理
给不同平台配不同密钥:
Host github.com
IdentityFile ~/.ssh/github_key
Host gitlab.com
IdentityFile ~/.ssh/gitlab_key
这样既能隔离风险,又不怕密钥泄露牵连所有账号。
五、小编碎碎念
说真的,搞懂ssh config就像拿到服务器管理的万能钥匙。不过要注意定期轮换密钥(建议每半年换一次),重要服务器最好开启二次验证。最近帮朋友排查个故障,发现他三年没换密钥,服务器差点被爆破...所以啊,方便和安全就像泡面里的调料包——缺一不可!