SSH 别名设置,提高操作效率
在平时运维工作中,通过设置ssh别名来访问远程系统,可以节省不少时间。通过ssh为频繁访问的系统创建ssh别名,这样就不必记住所有不同的用户名、主机名、SSH 端口号和 IP 地址等。此外,它避免了在ssh到linux服务器时重复输入相同的用户名、主机名、IP 地址、端口号。
通过情况下,我们使用ssh连接远程服务器时,会用到"端口号"、"用户名" 和 "IP地址" 或 "主机名":
1 2 3 4 5 6 7 | [root@python2 ~] # ssh -p22 kevin@172.16.60.205 kevin@172.16.60.205's password: [kevin@web-node01 ~]$ [root@python2 ~] # ssh -p 22 kevin@web-node01 kevin@web-node01's password: [kevin@web-node01 ~]$ |
其中:
22 是端口号,
kevin 是远程系统的用户名,
172.16.60.205 是远程系统的IP,
web-node01 是远程系统的主机名(前提是可以在本机ping通这个主机名)。
下面介绍两个设置ssh别名的方法:
方法一、使用 SSH 配置文件
使用 ssh 默认配置文件来创建 ssh 别名。为此,编辑 ~/.ssh/config 文件(如果此文件不存在,只需创建一个)。在当前用户家目录的.ssh/config文件中添加所有远程主机的详细信息
1 2 3 4 5 6 7 8 9 10 11 12 | [root@python2 ~] # vim ~/.ssh/config Host webserver HostName 172.16.60.205 User kevin Port 8888 Host dnsserver HostName dns.bo.cn User root Host dbserver HostName 172.16.60.210 User shibo Port 22222 |
然后就可以使用这些ssh别名进行远程服务器的连接了
1 2 3 | [root@python2 ~] # ssh webserver [root@python2 ~] # ssh dnsserver [root@python2 ~] # ssh dbserver |
需要特别注意:
上面配置只使用于当前用户。如果要为所有用户(系统范围内)提供别名,那么就需要在/etc/ssh/ssh_config 文件中添加以上几行的内容。还可以在 SSH 配置文件中添加许多其他内容。例如,可以配置基于SSH密钥的身份验证,说明SSH 密钥文件的位置,如下所示:
1 2 3 4 | Host webserver HostName 172.16.60.140 User kevin IdentityFIle ~/. ssh /id_rsa_remotesystem |
方法二: 使用 Bash 别名
这是创建ssh别名的一种应急变通的方法,可以加快通信的速度。你可以使用alias命令使这项任务更容易。打开 ~/.bashrc 或者 ~/.bash_profile 文件:
1 2 3 4 5 | [root@python2 ~] # vim ~/.bashrc alias webserver= 'ssh -p8888 kevin@172.16.60.205' alias dnsserver= 'ssh root@dns.bo.cn' alias dbserver= 'ssh -p22222 shibo@172.16.60.210' alias haha= 'ssh -p6666 kevin@172.16.60.140 -i ~/.ssh/id_rsa_remotesystem' |
使用命令应用更改:
1 | [root@python2 ~] # source ~/.bashrc |
然后直接使用别名就可以连接了:
1 2 3 4 | [root@python2 ~] # webserver [root@python2 ~] # dnsserver [root@python2 ~] # dbserver [root@python2 ~] # haha |
如下面配置示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [root@kevin ~] # cat /root/.bashrc # .bashrc # User specific aliases and functions alias rm = 'rm -i' alias vi = 'vim' alias cp = 'cp -i' alias mv = 'mv -i' alias jk= 'ssh 192.168.10.146' alias jk3= 'ssh 192.168.11.146' alias jk4= 'ssh 192.168.11.147' alias xps= 'ssh 192.168.11.217' export TERM=xterm unset SSH_ASKPASS [root@kevin ~] # jk Last login: Mon Jul 22 10:19:51 2019 from 172.20.20.65 [root@jenkins ~] # |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!