3

我在办公室有一个桌面,我经常需要从家里访问并使用 scp 来复制文件。目前我正在这样做

scp username@x.x.x.x  ...

我想要一种机制,每次我想要 scp 某些东西时我都不必输入 IP 地址。我试图通过创建别名来做到这一点,但它似乎不起作用。我可以给我的台式机起一个名字,这样我就可以使用机器的名称代替输入 IP 地址吗?

4

3 回答 3

6

处理此问题的一种方法是在您的 ssh 配置中创建一个条目。这可以在系统范围内完成,或者,如果您对此框没有 root 访问权限,则仅针对您的用户。

每个用户的配置文件是~/.ssh/config并使用以下格式

host my_desktop
    hostname 11.22.33.44

这种方法也很好,因为您可以指定其他选项,例如用户名。要了解有关可用选项的更多信息,请尝试man ssh_config

于 2012-06-14T15:35:24.543 回答
3

您的系统上应该有一个HOSTS专门用于执行此操作的文件。在我的 Linux 系统上,它位于/etc/hosts. 如果添加如下所示的行:

11.22.33.44   my_desktop

那么对该名称的所有访问my_desktop都将映射到列出的 IP 地址。但是,此更改仅影响HOSTS文件被修改的机器。如果您想让任何人都可以使用特定名称访问 IP,那么您正在寻找更困难的东西(这是 DNS 服务器旨在解决的一般问题)。

于 2012-06-14T15:25:40.350 回答
1

使用环境变量来保存您的 IP 和用户名 - 然后在 scp 命令中使用该变量。

user@crunchbang:~$ export mypc='myuser@x.x.x.x'

user@crunchbang:~$ scp $mypc: ......
于 2012-06-14T15:48:46.383 回答