jenkins ssh发布时提示nohup: failed to run command `java’: No such file or directory
新环境的jar包通过jenkins ssh发布,结果jar包推送到服务器上以后,提示nohup: failed to run command `java’: No such file or directory。这可让我有点意外。
本来在/etc/profile里都已经写好了java的路径,这怎么会提示找不到java命令呢?
随后,又在jenkins ssh发布账号的个人profile里编辑了一下,添加上java的路径,后来想了一下,干脆省事点,直接source一下算了,最后还是在启动脚本里添加了source /etc/profile,这个是比较简单粗暴的。
网上还有一种方法,是直接给java做一个链接,到你真实的java路径,这个就算了,不想去修改了,如果你的启动脚本比较多,还是可以使用这种方法的,毕竟是一劳永逸,方法如下:
ln -s /your_java_path/bin/java /usr/bin/java
Centos 7 使用key登陆SSH
首先,你要新建一个用户,权限可以最小,用来ssh登陆系统。
useradd
1、ssh-keygen -t rsa
使用新建的用户执行这条命令。
会让你输入密码,根据个人需要,我是没填密码,因为使用方便。
然后会在你当前用户的home目录下生成.ssh,里面有id_rsa,id_rsa.pub,id_rsa.pub就是公钥:
2、cat id_rsa.pub >> authorized_keys
因为ssh默认是会去读取authorized_keys里面的数据。
id_rsa是私钥,拖回本地来。
3、修改/etc/ssh/sshd_config
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
systemctl restart sshd
4、vi /etc/sudoers
在%wheel ALL=(ALL) NOPASSWD: ALL这一行上添加:
youruser ALL=(ALL) NOPASSWD:ALL
至此,就可以用新建的用户加id_rsa来登陆系统了。需要root权限直接sudo -s就可以。
PS:在实施过程中因为偷懒,直接使用ssh-copy-id来把key分发到其它服务器上,其中一台始终无法登陆,提示:
Authentication refused: bad ownership or modes
后来发现是.ssh目录权限问题,直接给700,问题解决。
debian建立shadowsocks代理服务器
国内SSH被封,造成SSH管理服务器都快要成问题,无奈只好换成shadowsocks。
debian下shadowsocks比较简单:
1、添加软件源deb http://shadowsocks.org/debian squeeze main
然后apt-get update;apt-get install shadowsocks-libev
2、vi /etc/shadowsocks-libev/config.json
{
“server”:”vps的ip”,
“server_port”:8388,
“local_port”:1080,
“password”:”barfoo!”, #认证密码
“timeout”:60,
“method”:”table” #加密方式,默认table,推荐aes-256-cfb
}
debian默认加密方式是null,table加密方式也可以使用,貌似不太安全,推荐aes-256-cfb,在使用aes时需要安装m2cryptto:
比MyEnTunnel好用的替代品——BitVise SSH Client
之前一直使用MyEnTunnel作为SSH代理客户端。原因大家都懂的,防火墙屏蔽了各种网站,移动宽带又屏蔽了VPN,只能用SSH了。
MyEnTunnel虽然是绿色软件,使用简便,但是有点点不稳定,开的网页较多的话,就会有卡顿或者就是直接打不开的现象。BitVise SSH Client就不会这样,稳定性方面较MyEnTunnel高出许多,使用性方面略麻烦一些。配置好后就可以顺畅的使用了。同时也是一款可以免费使用的软件,虽是收费的,但官网明确说明可以免费使用。
不多说,下载地址:http://dl.bitvise.com/BvSshClient-Inst.exe
建立ssh代理账户
VPS除了用来放站之外,另外一个重要用途就是用来SSH代理了。因为我用的铁通,也就是现在的中国移动宽带不能使用PPTP,所以只能用SSH。
建立SSH代理账户很简单,给予最小的权限就行了,防止泄露后对系统造成危害。
网上流传的那个给予nologin的方法不能使用,因为SSH工具会不停让你输入密码,改成/bin/false就可以了,或者指向/etc/passwd,这样的话,用户就可以修改密码了。
useradd -M -s /bin/false username
或者
useradd -M -s /etc/passwd username