Skip to content

Monthly Archives: 二月 2009

Linux 命令行下用 Gmail SMTP 发信

18-二-09

最近没有注意清理硬盘空间,每天半夜的备份把外接硬盘填满了还不知道,由于这个外接硬盘是用 automount 挂载的,平时一般处于卸载状态,所以没有及时发现。由此 Linux 系统命令行发送邮件的需求重新提到日程上来。
几年前安装 Linux 系统时顺手配置 Email Server 很常见,但是近来大家都选择不安装了,因为
1、用家里ISP分配的动态IP运行的 SMTP 服务器发信往往会被别人当作 spam 拒收(因为这种动态IP无法经过域名反查证实是我们自己设定的域名);
2、现在免费信箱很多,与其自己费心维护还不如直接用 Gmail 提供的 SMTP 服务。
经过比较后,我决定使用 ssmtp 来实现发信,原因是
1、我并不需要收信,只需要发信;
2、ssmtp 比 exim 小很多,比较一下安装包,ssmtp 大约 50KB,exim 大约 1.7MB
选择 Gmail 是因为它提供加密的 SMTP 服务,首先去 Gmail 申请一个帐号(sender@gmail.com),专门用来发信。
使用 sudo apt-get install ssmtp 安装 ssmtp 后,修改设置文件 /etc/ssmtp/ssmtp.conf,改成
root=sender@gmail.com
mailhub=smtp.gmail.com:587
UseSTARTTLS=YES
RewriteDomain=
Hostname=sender@gmail.com
AuthUser=sender@gmail.com
AuthPass=password
FromLineOverride=YES
反查表文件 /etc/ssmtp/revaliases 里面设置
root:sender@gmail.com:smtp.gmail.com:587
这时就可以用 ssmtp 通过 Gmail SMTP 来发信了,假如我们要发一封试验信给 myacct@myemail.com,可以这样写
echo “This is a test email” | [...]

用 KeePass 实现远程控制的自动登录

11-二-09

我经常要登录多个远程系统进行维护,输入用户名和密码是一件很烦的事情,但如果将用户密码保存在远程控制软件中又会造成安全隐患,尤其是如果该远程控制软件是放在 U 盘上的便携版,一旦 U 盘遗失,可能会被别人轻易侵入系统,我的几个 Linux 帐号都有 sudo 权限,被窃取后基本上就等同 root 帐号被攻克了。
比较安全的自动登录可以用 KeePass 配合适当的远程控制软件来实现。
首先远程控制软件必须允许在命令行设定远程登录的信息,如远程系统IP/域名,端口,用户名,密码等等。我最常用的几款都可以:
登录 SSH 服务器使用 putty:putty.exe -ssh $username@$host:$port -pw $password
登录 SFTP 服务器使用 winscp:winscp.exe” sftp://$username:$password@$host:$port
远程桌面使用 UltraVNC viewer:vncviewer.exe” $host:$port -password $password
远程桌面使用 TeamViewer:Teamviewer.exe” -i $ID -P $password
如果想在 U 盘上使用 KeePass 便携版的话,这几款远程控制软件都有便携版或者便携的替代版,如 putty 可以用 kitty 来替代。
这里用 KeePass 1.14 中的 URL field 配合 cmd:// 链接来启上述动远程控制软件,传入登录信息,就可以无需输入用户名/密码自动登录到远程系统上了。由于远程系统的登录信息是由 KeePass 加密保存的,远程软件中可完全不需要保存远程系统的信息(可手动逐一删除目前已经保存的信息),并且设置不要记录登录历史,这样即使把 KeePass + 远程控制软件便携版保存在 [...]