要解决问题
有些站点不提供sshkey登录,只让你用密码登录。因为ssh命令不让在命令行直接明文你给密码,所以每次登录要输入密码很不方便。
解决方法
受到这篇文章启发: http://linuxtoy.org/archives/sshpass.html , 用sshpass可以解决。请阅读该文行。
更新我 .bash_alias 下面内容
以前是:
alias sshsrv01='ssh 404@某服务器ip -p端口号'
这样输入 sshsrv01(就是ssh到sever01的简写 :),实际运行一个ssh登录命令,但需要输入密码才能登入。因为ssh命令不让你直接在命令行输入密码。
现在该行更新为:
alias sshsrv01='sshpass -p 'ssh登录密码' ssh 404@某服务器ip -p端口号'
sshpass -p 可以让你在后面直接跟登录密码,密码要放在英文单引号中。
现在再次输入 sshsrv01, 直接就登录到server01上了,无须输入密码。和使用sshkey达到的效果一样。
注意
- alias命令整体要放在英文单引号中。所以,命令中有2对单引号。**
- 在登录时,sshpass让你觉得和用sshkey登录一样,但安全性上,passwd-based和key-based是不一样的。当然key-based安全!
- 是否能运用到scp和rsync中我还没有试验。谁用了请说明。
用scp从远端服务器复制文件到本地
发现以前写了使用scp的文章,更详细: http://pengyou.rijiben.org/node/1816
scp -P端口号 服务器地址:/home/404/podcast/*.mp3 .
比较容易混淆的是用ssh时候,指定端口号用小写字母 -p ,scp时要用大写字母。
服务器地址后(通常是ip)加英文冒号,冒号后面是你要复制的目录和文件名字。
我这里用了通配符复制所有mp3文件。
其它没什么可说的。
如果是复制目录 -r
如果只复制更新了的文件 -u
一般来说, -u 是应该加上的。否则以前复制过的也复制一遍。
简单说,命令就是
ssh -X 服务器ip地址 -p端口号
-X 就是 x window 链接。
服务器端需要允许转发x流量,就是 X forwarding。
更好的方式是:
ssh -X 服务器 firefox -no-remote &
这样就启动了服务器上的firefox,从服务器上网。
具体以后写。不难。
登录后,还是字符界面。但我在服务器端安装了firefox。如果不用 ssh -X 登录,输入firefox会告诉你
(firefox-bin:9695): Gtk-WARNING **: cannot open display:
通过 ssh -X 登录。输入firefox,直接启动并用本地的x windows启动。但你的ip地址是远端服务器的。
问题:
似乎还是运行我本地的firefox。但这样运行是通过服务器在上网么?相当于隐身了一下?
Tunnel Everything through SSH
http://www.plenz.com/tunnel-everything
http://www.privoxy.org/
sshmenu
项目主页
http://sshmenu.sourceforge.net/
在gnome桌面建立小程序图标,点中后快速ssh链接到某站点。有点像windows下的putty。
安装
在ubuntu gnu/linux 中直接用新立得软件管理包搜索 sshmenu 选中后安装就可以了。
或者用
sudo apt-get install sshmenu-gnome
只后在gnome面板上点右键添加(add to panel),选中sshmenu就可以了
使用
在prefernece添加站点。如果你的ssh服务器不是运行在标准的22端口,我有个站点就不是,直接在hostname(etc)栏里跟端口号,如
12.0.0.25 -p 3512
3512就是端口号。不在标准端口运行ssh好处是能过滤些很多垃圾攻击,就是试你标准端口的攻击。虽然这只是“虚假的安全(pseudo security)”但还是有一定效果的。
高手当让不用sshmenu而直接在bash中建立alias啦
我就想成为高手。但一直没摸索出方法。bash中的alias也不太会建立。这方面文章很多,打印出来好好读读就会。在那之前,或者你喜欢用图形化的界面。sshmenu是个不错的选择。
比如我如果是高手我会用
alias ssh129='ssh 404@129.0.0.25 -p 3512'
这样,我在bash下输入ssh129这个命令就会用404的身份登录到129.0.0.25,端口是3512。简单吧。比点好几下鼠标方便。
ssh相关howto
高高手用其它工具
高高手因为同时管理多台机器,经常需要上多台机器完成相同工作。所以会用另外一个工具,名字忘了,因为我不用。该工具让你能够只发布一条命令,它自动登录到多台机器上,分别执行。