使用linux中.ssh/config配置客户端host

~/.ssh/config文件是一个很有用的文件,它用于配置客户端的参数

在~/.ssh/config中可以定义ssh的参数,这个文件在当前用户的目录下面,即该配置只能被当前用户使用,其他用户使用不了!比如auser用户,其home目录为 /home/auser,在/home/auser下面新建目录.ssh,然后在.ssh下面新建文件config。

接下来配置config的客户端域名,如配置如下内容


Host baidu

HostName 187.11.33.55

Port 90008

User tikk

Host baidu

HostName 107.11.23.59

Port 70008

User mikk


有了这个config文件,就可以使用定义好的host进行ssh了,

比如使用auser登录后,想往baidu服务器的tikk用户下的test目录传输文件,可以使用以下命令:

scp -r 1.txt baidu:test

这个命令等价于:

scp -r 1.txt tikk@187.11.33.55:/home/tikk/test/

或者scp -r 1.txt tikk@187.11.33.55:~/test/

显然baidu比tikk@187.11.33.55更好记忆,阅读性也更强

上面的命令需要注意的是,scp -r 1.txt baidu:test 不能使用$baidu,或者添加引号之类的

config中配置的域名变量只能使用在scp rsync ssh 等ssh的命令中,不能使用在其他命令,否则提示不识别

如 echo baidu 或者 echo $baidu 将得不到正确的结果

原文链接:,转发请注明来源!