分页: 1 / 2

简单的ssh脚本怎么编写?

发表于 : 2016-04-28 22:23
jsjcjsjc
vsp新手经常要重装系统,打一些重复的命令。。。想请教一下怎么编写简单的ssh脚本,不然经常等着make install等费时间的
比如下面的命令,
无非就是等待执行下一段命令,要不写一些代码到文件中。。
求简单的教程,或者哪个木板可以抄一下 :Grimace
==================
apt-get update
apt-get install build-essential autoconf libtool libssl-dev git
git clone https://github.com/madeye/shadowsocks-libev.git

cd shadowsocks-libev
./configure --prefix=/usr
make && make install

mkdir -p /etc/shadowsocks-libev
cp ./debian/shadowsocks-libev.init /etc/init.d/shadowsocks-libev
cp ./debian/shadowsocks-libev.default /etc/default/shadowsocks-libev
cp ./debian/config.json /etc/shadowsocks-libev/config.json
chmod +x /etc/init.d/shadowsocks-libev

vi /etc/shadowsocks-libev/config.json
{
"server":"cc.cc.cc.cc",
"server_port":5216,
"local_port":1080,
"password":"xxxxxxxx",
"timeout":60,
"method":"aes-256-cfb"
}

/etc/init.d/shadowsocks-libev stop
/etc/init.d/shadowsocks-libev start


vi /etc/rc.local
/etc/init.d/shadowsocks-libev start 添加在exit那一行之前
=============================================

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-04-28 22:27
rosynirvana
shadowsocks.org 源里面有的,不用自己编译

https://shadowsocks.org/en/download/servers.html

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-04-28 22:31
kashu
rosynirvana 写了:shadowsocks.org 源里面有的,不用自己编译

https://shadowsocks.org/en/download/servers.html
我猜想,他之所以想编译安装,可能是想尽可能用到最新版本的shadowsocks(源里面的版本有时可能未必是最新的)

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-04-28 22:49
vickycq
rosynirvana 写了:shadowsocks.org 源里面有的,不用自己编译
https://shadowsocks.org/en/download/servers.html
好像 Debian/Ubuntu 源里的 sslocal 不支持 rc4-md5。很多买来的 ss 只支持 rc4-md5?
抱歉没看清主贴内容

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-04-28 22:54
rosynirvana
vickycq 写了:
rosynirvana 写了:shadowsocks.org 源里面有的,不用自己编译
https://shadowsocks.org/en/download/servers.html
好像 Debian/Ubuntu 源里的 sslocal 不支持 rc4-md5。很多买来的 ss 只支持 rc4-md5?
他在vps上装ss,应该是要自己搭Server

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-04-28 23:02
vickycq
rosynirvana 写了: 他在vps上装ss,应该是要自己搭Server
抱歉,没看清楚主贴内容

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-04-28 23:09
vickycq
绝大多数命令可以直接写进脚本
有两个要点:

1. 避免 apt-get 询问 Y/N,加 -y 参数;

2. 编辑文件添加内容:
2-1. 对于复杂内容如 ss 配置文件可事先将内容写进其它文件,再在脚本中复制到对应位置;
2-2. 添加 /etc/init.d/shadowsocks-libev start 到 exit 0 之前:

代码: 全选

sudo sed -i "/^exit 0/i\/etc\/init.d\/shadowsocks-libev start" /etc/rc.local

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-04-28 23:18
rosynirvana
装好后会有个启动脚本用的,不用写rc.local
apt install shadowsocks-libev后只要改配置文件然后service shadowsocks-libev restart就好了

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-04-28 23:24
vickycq
rosynirvana 写了:装好后会有个启动脚本用的,不用写rc.local
apt install shadowsocks-libev后只要改配置文件然后service shadowsocks-libev restart就好了
正解。

“添加 /etc/init.d/shadowsocks-libev start 到 exit 0 之前” 多余。具体要看你 VPS 的操作系统版本。如果是使用 upstart 的 Ubuntu 版本(低于或等于 14.10),按照 upstart 的管理方式管理自启即可。

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-04-29 11:28
jsjcjsjc
vickycq 写了:绝大多数命令可以直接写进脚本
有两个要点:

1. 避免 apt-get 询问 Y/N,加 -y 参数;

2. 编辑文件添加内容:
2-1. 对于复杂内容如 ss 配置文件可事先将内容写进其它文件,再在脚本中复制到对应位置;
2-2. 添加 /etc/init.d/shadowsocks-libev start 到 exit 0 之前:

代码: 全选

sudo sed -i "/^exit 0/i\/etc\/init.d\/shadowsocks-libev start" /etc/rc.local
非常感谢
创建/etc/shadowsocks-libev/config.json,添加内容这样可以吗?
rm /etc/shadowsocks-libev/config.json
cat > /etc/shadowsocks-libev/config.json<<-EOF
{
"server":"0.0.0.0",
"server_port":${shadowsocksport},
"local_address":"127.0.0.1",
"local_port":1080,
"password":"${shadowsockspwd}",
"timeout":600,
"method":"aes-256-cfb"
}
EOF

最后还有一个需求就是vi /etc/sysctl.conf,将net.ipv4.ip_forward=1一行前面的#号去掉。这个有办法吗

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-04-29 11:34
jsjcjsjc
关于普通命令该怎么处理,3种方案啊有区别吗。。。非常感谢您的帮助


有人说是这样用 ; 隔开
apt-get update;apt-get install build-essential autoconf libtool libssl-dev git;git clone GitHub - shadowsocks/shadowsocks-libev: libev port of shadowsocks;cd shadowsocks-libev;./configure --prefix=/usr;make && make install

也有人说是这样,直接一行一行写下来
apt-get update
apt-get install build-essential autoconf libtool libssl-dev git
git clone GitHub - shadowsocks/shadowsocks-libev: libev port of shadowsocks
cd shadowsocks-libev
./configure --prefix=/usr
make && make install

还有人说是这样用 && 隔开
apt-get update && apt-get install build-essential autoconf libtool libssl-dev git && git clone GitHub - shadowsocks/shadowsocks-libev: libev port of shadowsocks && cd shadowsocks-libev && ./configure --prefix=/usr && make && make install

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-04-29 11:41
vickycq
jsjcjsjc 写了: 最后还有一个需求就是vi /etc/sysctl.conf,将net.ipv4.ip_forward=1一行前面的#号去掉。这个有办法吗
方法一 直接用 sysctl 命令
方法二

代码: 全选

sudo sed -i '/net.ipv4.ip_forward/s/^# *//' /etc/sysctl.conf 

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-04-29 11:43
vickycq
jsjcjsjc 写了:关于普通命令该怎么处理,3种方案啊有区别吗。。。非常感谢您的帮助
有人说是这样用 ; 隔开
也有人说是这样,直接一行一行写下来
还有人说是这样用 && 隔开
第一个和第二个一样,用分号只是为了合并到一行中。效果都是 上一个命令结束后才会执行下一个。
用 && 的效果是 上一个命令返回 0 (成功执行) 才会执行下一个。
用 & 的效果是 不等上一个命令结束就会执行下一个。

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-04-29 12:33
jsjcjsjc
vickycq 写了:
jsjcjsjc 写了:关于普通命令该怎么处理,3种方案啊有区别吗。。。非常感谢您的帮助
有人说是这样用 ; 隔开
也有人说是这样,直接一行一行写下来
还有人说是这样用 && 隔开
第一个和第二个一样,用分号只是为了合并到一行中。效果都是 上一个命令结束后才会执行下一个。
用 && 的效果是 上一个命令返回 0 (成功执行) 才会执行下一个。
用 & 的效果是 不等上一个命令结束就会执行下一个。
太感谢啦,自己做脚本去
:em05

Re: 简单的ssh脚本怎么编写?

发表于 : 2016-05-03 20:47
jsjcjsjc
vickycq 写了:
jsjcjsjc 写了:关于普通命令该怎么处理,3种方案啊有区别吗。。。非常感谢您的帮助
有人说是这样用 ; 隔开
也有人说是这样,直接一行一行写下来
还有人说是这样用 && 隔开
第一个和第二个一样,用分号只是为了合并到一行中。效果都是 上一个命令结束后才会执行下一个。
用 && 的效果是 上一个命令返回 0 (成功执行) 才会执行下一个。
用 & 的效果是 不等上一个命令结束就会执行下一个。
不好意思啊,时候跳出这个怎么解决?有办法全部安装默认设置吗?
命令式这样的 apt-get -y install build-essential autoconf libtool libssl-dev git
123.jpg