标签归档:ssh

ssh登陆以后二次验证

ssh登陆成功以后,会自动执行当前目录下的.bashrc文件。
我们可以利用这一点,在其中加入二次验证的权限程序。
比如:


echo "Password Second"
read me

if [ "$me" != "123"  ]; then
   kill -9 $$
fi

登陆成功以后,显示Password Second
然后,如果输入的不是123,将杀死当前的进程,即关闭当前的ssh连接。
安全起见,最好把这个文件保存权限为500
必要的时候用root用户修改。

修改ubuntu ssh登陆后繁琐的提示

最近写了一个登陆ssh以后自动执行命令的脚本,
本身信息显示并不多,但是,看到那个繁琐的登陆提示,所以萌发了改一下的想法。

ssh登陆成功以后会动态执行/etc/update-motd.d的脚本,
然后按照脚本开头的字母顺序拼成欢迎信息,

原来默认的是:
00-header 50-landscape-sysinfo 91-release-upgrade 98-reboot-required
10-help-text 90-updates-available 98-fsck-at-reboot 99-footer

各有各自的作用,具体的可以自己打开看一下,

我们图的简单,所以把其中的所有文件全部删除,为预防危险,我们sudo mv /etc/update-motd.d /home/yourname/update-motd.d.bak

然后重新登陆ssh,发现所有的登陆信息只剩下了:

You have new mail.
Last login: Thu Dec 5 09:26:17 2013 from 61.135.152.218

应该算简洁了吧。

有些linux的登陆提示信息放在了/etc/sshd_config中的Banner配置项中。

ftp结合ssh一个部署代码的shell

操作原理,用ftp上传一个zip文件,然后再用ssh 登录到服务器,进入到相应的目录,用unzip进行解压。然后用rm删除该文件

#!/bin/bash

#Usage:totserver project_name zip_file_to_deploy

work_path=$1
file_to_deploy=$2

host="itianmen.com"
id="hello"
pw='helloworld'
remotedir="/home/work/path/$work_path/"

ftp -v -n "$host"  <<EOF
user $id $pw
binary
hash
cd $remotedir
put $file_to_deploy
bye
EOF

ssh $id@$host <<EOF
cd $remotedir
unzip -o $file_to_deploy
rm $file_to_deploy
EOF

可以将ftp的代码替换成scp