使用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 将得不到正确的结果