在/home/www/.ssh/下新建config文件,内容如下:
Host git.zhongwenweilai.com
HostName git.zhongwenweilai.com
User www
Port 9000
IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 30
Host web2
HostName 10.6.32.193
User www
Port 22
IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 30
这样就可以通过ssh web2直接登录到 10.6.32.193 服务器了,当然需要通过ssh key认证。
如果遇到类似下面的错误:Bad owner or permissions on /home/yuss/.ssh/config
需要修改config的权限
chmod 600 ~/.ssh/config
在实际工作中遇到一个git方面的问题,git的ssh协议或git协议通过ssh链接git服务器,默认的端口是22,如果做了端口转发的话,可能默认的配置就连不上了,可以通过配置ssh config来解决这个问题。讲Host和HostName都设置成git的服务地址就可以了。
我有三台Ucloud的云主机,IP地址如下:
主机A:内网IP:10.6.14.98 外网弹性IP:42.62.79.183
主机B: 内网IP:10.6.13.86
主机C:内网IP:10.6.13.227
主机A可以通过外网弹性IP:42.62.79.183访问外网,但是主机B和主机C不可以访问外网,现在想让主机B和主机C通过主机A访问外网。具体操作如下:

需要加载下nf_conntrack模块,命令如下:
modprobe nf_conntrack
加载完后,需要再次执行sysctl -p
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#GATEWAY=10.6.0.1 GATEWAY=10.6.14.98
yum -y install subversion
mkdir -p /svnrepos/Project1 mkdir -p /svnrepos/Project2
svnadmin create /svnrepos/Project1 svnadmin create /svnrepos/Project2
cp -r /svnrepos/Project1/conf /svnrepos/conf
cd /svnrepos/conf vim passwd
[users]
# harry = harryssecret
# sally = sallyssecret
lixia = lixia
yushushu = yushushu
chenlei = chenlei
zouxinru = zouxinru
caoxiaoying = caoxiaoying
chenbaoyu = chenbaoyu
liuyuchen = liuyuchen
liaoxiaoxue = liaoxiaoxue
wangtianyu = wangtianyu
huangzhonghua = huangzhonghua
vim authz
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = lixia,yushushu
dev = yushushu,chenlei,zouxinru,wangtianyu
test = caoxiaoying,chenbaoyu
res = huangzhonghu
重启后生效
#开启 chkconfig iptables on #关闭 chkconfig iptables off #或者用下面的命令关闭 /sbin/chkconfig --level 2345 iptables off
即时生效
#开启 service iptables start #关闭 service iptables stop
查看防火墙是否开启
service iptables status
#linux sed -i 's#/kfs/#/kfs/test22/#g' `grep kfs -rl --include="*.php" --exclude="config.php" ./` #mac sed -i "" 's#/kfs/#/kfs/test22/#g' `grep kfs -rl --include="*.php" --exclude="config.php" ./`
参数解释:
sed:
-i 表示操作的是文件,``括起来的grep命令,表示将grep命令的的结果作为操作文件
s/yyyy/xxxx/表示查找yyyy并替换为xxxx,后面跟g表示一行中有多个yyyy的时候,都替换,而不是仅替换第一个
grep:
-r表示查找所有子目录
-l表示仅列出符合条件的文件名,用来传给sed命令做操作
--include="*.php" 表示仅查找php文件
exclude="config.php" 表示不查找config.php
./ 表示要查找的根目录为当前目录