ssh 绝对不不仅仅是类似 telnet 这样远程登录管理主机那么简单。下面的些 技巧,或许可以激发起你对这个「老朋友」重新认识的兴趣。
有部分内容来自: http://derwiki.tumblr.com/post/841579929/how-i-learned-to-stop-worrying-and-love-ssh 。
直接运行远程脚本
ssh 其实可以直接指定运行远程主机的命令。例如,每次登录并查看线上的日志是件非常繁琐的累活。其实你可以使用下面的命令
ssh user@remotehost "taif -f /var/log/apache/access.log"
它会 ssh 登录以后直接执行指定的命令。这样我们可以构建本地脚本让其接受远程服务器的输出,做更多的事情。
压缩传送文件和目录
有时候不想开启 SFTP 工具传送文件,那么下面的命令会帮到你
tar cvfz - localFileOrDir | ssh user@remotehost 'cd /remote/path/to/unpack/ ; tar xvfz -'
这个命令可以自动将本地的文件或者目录打包压缩以后,通过 ssh 传输到 remotehost 主机,然后 remotehost 会自动将其解压缩。
自动登录 ssh
最后个 ssh 技巧,上面的技巧的确是很实用,但是我们也受不了每次都要输入次密码。如果你的确厌烦了这些,那么尝试执行下面的命令:
ssh user@remotehost 'cat >> ~/.ssh/authorized_keys' < ~/.ssh/id_rsa.pub
这样远程的主机就会保存你本地的公钥,你就可以自动 ssh 登录远程主机( 详细 )。
顺便提醒:强烈提醒您保护好您主目录下的 ssh 私钥,否则您的帐户可能会面临风险。
还有些有用的参数
-C
这个参数可以将文本数据压缩传送-X
如果远程服务器支持 X11 forwarding ,那么远程的 X 应用直接可以在本地显示运行(当然你本地要有 X Server)
各位还有什么其它好用的 ssh tips,欢迎不吝指出。
-- EOF --
免密码貌似需要对方~/.ssh/目录权限是700,里面文件是600才可以。。
[...]转自http://www.gracecode.com/archives/3030/[...]
顺便提醒:强烈提醒您保护好您主目录下的 ssh 公钥,否则您的帐户可能会面临风险。
公钥->私钥
@leafduo 已经更正,thx
看不懂,另新页面看不习惯啊
我的翻墙软件用到了SSH不知道是什么。。
写的真简略,帮助记忆么
cat file.mp3 | ssh user@host 'mpg123 -'
从来都是用 scp 直接传目录,大文件需要续传才用 rsnyc
ssh-genkey -d 这一步你漏掉没讲 =。=
ssh-copy-id user@remotehost 还比较好用~~
在没有VPN时候,SSH太爽了
可惜公司网络屏蔽SSH端口,很是麻烦
我用证书登陆,省去密码
不错,写得挺实用的,我喜欢,哈哈,支持一下
[...]原文 http://www.gracecode.com/archives/3030/[...]
牛人一个,学习了,很实用
ssh 没有用过这玩意,不过看博主这么一说,试用了一下,太好用的!谢谢博主··
不错,太感谢楼主了,谢谢你提供的信息,我也尝试一下
这是个新东西,楼主很强悍 啊,谢谢分享。
被楼主欺骗了,我以为你说的是java的框架呢...Struts+Spring+Hibernate...
不错,写的很好,值得学习,谢谢楼主了
呵呵,很好很强大
很不错,值得分享啊。
一个错别字:
这个命令可以自动\"讲\"本地的文件或者目录
还有, 在~/.ssh/config 里面配置一些常用的 ssh主机别名, 用起来更加方便. 可以指定不同的用户名,私钥,端口等等...
已经修正,感谢~