SSH 使用技巧一则: 创建快捷方式
在管理服务器时,我通常选择使用 SSH 方式。以下是一则 SSH 使用技巧,希望对你有用。
创建快捷方式
当你在执行 ssh 命令登录服务器时,有没有被需要输入命令后面的一长串参数感到厌烦呢?比如,名为 serveradmin@domain.com 的用户要登录到 example.com 主机上,需执行:
ssh serveradmin@domain.com@example.com
你当然可以使用 alias,但 SSH 本身也提供有相应的解决方案──你可以为需要经常访问的远程主机创建快捷方式。
找找看你的用户主目录下是否有 .ssh,若没有,则使用 mkdir 创建一个;
使用你喜欢的文本编辑器(如 Vim)来创建 config 配置文件:
vim ~/.ssh/config仍以前面的例子来说明,假设我要创建的快捷方式名为 lt,则加入下面的内容,其中 HostName 为主机名,User 为用户名:
Host lt HostName example.com User serveradmin@domain.com保存编辑。
现在,你只要执行 ssh lt 就可以了。
Read More:
啊,这技巧太好了,谢谢楼主。
很有用,谢谢分享。
如果把用户名密码也写上要如何写?是不是不安全?
呵呵,不错这个~
@hzxu: 你应该用 public key 来进行身份认证,而不是把密码写到配置文件里。
在 ~/.ssh/config 里还可以配置其他很多参数,其中比较常用的如 DynamicForward 和 ForwardX11Trusted,意义分别跟 ssh 命令的 -D 和 -X 参数一致。参考 man ssh_config。
哈哈,真是我想要的。
export host127=..***.127 alias go127="ssh username@$host127"
----my .bashrc----
不错的技巧
这个技巧太帅了,偶喜欢
cssh也支持主机列表…… 不过似乎xshell的输出是实时的……比如yum的时候显示的内容就有点另类……
的确是个很实用的技巧,收藏
这种方式其实更多的用在给不同的主机使用不同的配置。比如你有些机器要用代理,有些不用。用这种方式区分开就很方便了。
ssh 的 外加命令很丰富。
$ vi .ssh/config Host 116 HostName 192.168.1.116 User zkc
$ ssh 116 Bad owner or permissions on /home/xxx/.ssh/config
=================== 是不是 User 要和文件 .ssh/config 所属的 user 相同呢?
@whycring 不需要
麻烦 toy 兄把上面的那个删除
16 ">>>" 后面的部分给加个 code 标签 -_-!!!
还找到一种,不清楚什么状况
再look 下其它的……
据说上面那种 ~/.ssh/config 中要设置 HashKnownHosts no
@Rainux, @latteye: 是的,这个 config 文件的用途不只本文所介绍的一种。
@Kardinal: 已删。
使用 shell alias 虽然也可以达到类似的目的,但是 .ssh/config 可以作用于其他 ssh 工具,例如 scp。甚至一些使用 openssl library 的第三方工具也可能可以使用它。
很多常用的命令(apt-get dpkg find firefox rsync run scp ssh synaptic unlink wine youtube-dl)都被我用脚本改写了,放在/home/bin下面,我是直接调用那些脚本,然后再调用这些命令,所以这个对我来说意义不大。
我的是这样的 :) cat .ssh/config host u2 hostname 192.168.2.2 port 22 Compression yes PreferredAuthentications publickey PubkeyAuthentication yes IdentityFile ~/.ssh/ubuntu user luohy
~/.ssh/config This is the per-user configuration file. The file format and configuration options are described in ssh_config(5). Because of the potential for abuse, this file must have strict permissions: read/write for the user, and not accessible by others. It may be group-writable provided that the group in question contains only the user.
@walkerxk: 那你重装系统的是时候是不是很费劲阿
This is what I do.
Host xx HoseName xx.xx.xx.edu User mond
then ssh xx will do the work.
恩,这个也不错,不过我还是用自己的脚本,主要是要经常多级登录 http://li2z.cn/2008/06/29/sssh/
@Rainux: 怎样配置SSH使用public key而不再提示输入password?
找到配置SSH证书的权威指导了:http://sial.org/howto/openssh/publickey-auth/。步骤没有想象中的那么复杂:-)
SSH公钥认证并不是SSL证书认证。不好意思,我的上个comment把概念弄混淆了。
若ssh server端口非22,也可在config裏加上Port 另外,這種方法用在cvs中很方便,用相同的CVSROOT可以指定不同的主機.
不错,不过偶更喜欢reStructuredText