我在办公室有一个桌面,我经常需要从家里访问并使用 scp 来复制文件。目前我正在这样做
scp username@x.x.x.x ...
我想要一种机制,每次我想要 scp 某些东西时我都不必输入 IP 地址。我试图通过创建别名来做到这一点,但它似乎不起作用。我可以给我的台式机起一个名字,这样我就可以使用机器的名称代替输入 IP 地址吗?
处理此问题的一种方法是在您的 ssh 配置中创建一个条目。这可以在系统范围内完成,或者,如果您对此框没有 root 访问权限,则仅针对您的用户。
每个用户的配置文件是~/.ssh/config
并使用以下格式
host my_desktop
hostname 11.22.33.44
这种方法也很好,因为您可以指定其他选项,例如用户名。要了解有关可用选项的更多信息,请尝试man ssh_config
。
您的系统上应该有一个HOSTS
专门用于执行此操作的文件。在我的 Linux 系统上,它位于/etc/hosts
. 如果添加如下所示的行:
11.22.33.44 my_desktop
那么对该名称的所有访问my_desktop
都将映射到列出的 IP 地址。但是,此更改仅影响HOSTS
文件被修改的机器。如果您想让任何人都可以使用特定名称访问 IP,那么您正在寻找更困难的东西(这是 DNS 服务器旨在解决的一般问题)。
使用环境变量来保存您的 IP 和用户名 - 然后在 scp 命令中使用该变量。
user@crunchbang:~$ export mypc='myuser@x.x.x.x'
user@crunchbang:~$ scp $mypc: ......