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