|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基的。
参考:
SixThingsIwishMomtoldme(aboutssh)
UsingRsyncandSsh
用过linux的,对SSH应当就对照熟习了,但有些技能大概你一定晓得。
毗连乐成后运转命令
我们都晓得能够经由过程SSH猎取远程shell,然后运转命令。假如只想运转单个命令的话,间接把命令附加在SSH命令以后便可,如- wdaher@rocksteady:~$sshbebopuname-aLinuxbebop2.6.32-24-generic#39-UbuntuSMPWedJul2805:14:15UTC2010x86_64GNU/Linux
复制代码 这个最好分离不必输出暗码的SSH登录。假如想猎取python版本,间接"sshhostnamepython-V"
但有些命令大概会报错,如"top"- wdaher@rocksteady:~$sshbeboptopTERMenvironmentvariablenotset.
复制代码 这时候只需加上"-t"参数就好了。
这里我们实行ssh毗连时并没有指定详细的主机名(ip)和用户,而只是"bebop",这是怎样做到的呢?且看下文
利用别号
假设在一个主机上为分歧用户分离守旧了分歧的ssh账号,毗连时就得如许- wdaher@rocksteady:~$ssh-p2222bob.example.comwdaher@rocksteady:~$ssh-p8183waseem@alice.example.comwdaher@rocksteady:~$ssh-p31337-lwaseemiowsd.example.com
复制代码 很贫苦,并且端口大概其他参数有变化的话,纷歧定记得住。实在只需设置一下.ssh/config文件就能够了。- HostbobHostNamebob.example.comPort2222UserwdaherHostaliceHostNamealice.example.comPort8183UserwaseemHostselfHostNamewsd.example.comPort31337Userwaseemio
复制代码 毗连时,就酿成如许了- wdaher@rocksteady:~$sshbobwdaher@rocksteady:~$sshalicewdaher@rocksteady:~$sshself
复制代码 是否是很便利,假如SSH的参数改动的话,修正设置文件就好了,命令稳定。
端口转发
假定有这么个情形:你已上班回家,这时候想要检察公司内网(analytics)的某个web页,但只能SSH到本人在公司的电脑(desktop),desktop和analytics在一个局域网。
先来看一段命令- sshdesktop-L8080:desktop:80
复制代码 这段命令暗示的是ssh连到desktop后,转发当地8080端口到desktop的80端口,这时候,假如会见"http://localhost:8080",就会转发到desktop的80端口。如许的话,把desktop:80换成analytics:80不就半途而废了吗- sshdesktop-L8080:analytics:80
复制代码 如许会见当地的8080端口,就会转到analytics的80端口,经由过程desktop这个跳板。
加倍与日俱增的办法是利用-D参数,将desktop酿成一个socks5代办署理服务器(对这个-D命令,人人应当都很熟习了吧),然后在扫瞄器中设置代办署理为"localhost:8080"如许一切的扫瞄器会见城市经由过程desktop举行转发,也就是说间接会见http://analytics就能够了。(analytics地点在hosts里设置,如192.168.1.110analytics)
利用"~"
“~”(不包含引号)是ssh保存字符,在新行输出"~“后,能够共同良多键,个中最经常使用的就是”~.“和”~^Z"(Ctrl+Z)
“~.”会停止ssh毗连,假如中止了毗连,又不想等sshsession过时,就能够利用这个快速键。
“~^Z”会把以后的ssh毗连放到背景,等完成了其他事情后,再把这个毗连掏出来。- wdaher@rocksteady:~$sshbebopwdaher@bebop:~$sleep10000wdaher@bebop:~$~^Z[suspendssh][1]+Stoppedsshbebopwdaher@rocksteady:~$#Dosomethingelsewdaher@rocksteady:~$fg#andyoureback!
复制代码 经由过程authorized_keys指定登录后要实行的命令
这个跟后面提到的"毗连乐成后运转命令"纷歧样,这个命令是界说在authorized_keys里的,ssh连上后,只能实行该命令,而且实行完后当即加入。
先看看一般的authorized_keys
- ssh-dssAAAAB3NzaC1kc3MAAAEBAKYJenaYvMG3nHwWxKwlWLjHb77CT2hXwmC8Ap+fG8wjlaY/9t4uA+2qx9JNorgdrWKhHSKHokFFlWRj+qk3q+lGHS+hsXuvta44W0yD0y0sW62wrEVegz+JVmntxeYc0nDz5tVGfZe6ydlgomzj1bhfdpYe+BAwop8L+EMqKLS4iSacNjoPlHsmqHMnbibn3tBqJEq2QJjEPaiYj1iP5IaCuYBhuTKQGa+oyH3mXEif5CKdsIKBj46B0tCy0/GC7oWcUN92QdLrUyTeRJZsTWsxKpRbMliD2pBh4oyX/aXEf8+HZBrO5vQjDBCfTFQA+35Xrd3eTVEjkGkncI0SAeUAAAAVAMZSASmQ9Pi38mdm6oiVXD55Kk2rAAABAE/bA402VuCsOLg9YS0NKxugT+o4UuIjyl6b2/cMmBVWO39lWAjcsKK/zEdJbrOdt/sKsxIK1/ZIvtl92DLlMhci5c4tBjCODey4yjLhApjWgvX9D5OPp89qhah4zu509uNX7uH58Zw/m6ZOLHN28mV5KLUl7FTL2KZ583KrcWkUA0Id4ptUa9CAkcqn/gWkHMptgVwaZKlqZQtEa0V2IwUDWS097p3SlLvozw46+ucWxwTJttCHLzUmNN7w1cIv0w/OHh5IGh+wWjV9pbO0VT3/r2jxkzqksKOYAb5CYzSNRyEwp+NIKrY+aJz7myu4Unn9de4cYsuXoAB6FQ5I8AAAEBAJSmDndXJCm7G66qdu3ElsLT0Jlz/es9F27r+xrg5pZ5GjfBCRvHNo2DF4YW9MKdUQiv+ILMY8OISduTeu32nyA7dwx7z5M8b+DtasRAa1U03EfpvRQps6ovu79mbt1OE8LS9ql8trx8qyIpYmJxmzIdBQ+kzkY+9ZlaXsaU0Ssuda7xPrX4405CbnKcpvM6q6okMP86Ejjn75Cfzhv65hJkCjbiF7FZxosCRIuYbhEEKu2Z9Dgh+ZbsZ+9FETZVzKBs4fySA6dIw6zmGINd+KY6umMWyJNej2Sia70fu3XLHj2yBgN5cy8arlZ80q1Mcy763RjYGkR/FkLJ611HWIA=thisuser@thishost
复制代码 修正以后,就是如许
- wdaher@rocksteady:~$sshbeboptopTERMenvironmentvariablenotset.0
复制代码 实在就是在最后面加了from和command,from标明从哪一个ip连过去的,假如是用adsl拨号上彀,ip会常常变化,能够把这个参数往失落。command标明毗连乐成后要实行的命令,能够在command里限定该用户能够实行的命令(别忘了加上可实行权限),假定限定该用户只能实行rsync命令:- wdaher@rocksteady:~$sshbeboptopTERMenvironmentvariablenotset.1
复制代码 $SSH_ORIGINAL_COMMAND暗示的是用户实践实行的命令
其他技能
克制Root用户登录
同意root用户登录太伤害了(固然很便利),由于能够删除任何文件,能够在’/etc/ssh/sshd_config’里设置一下。- wdaher@rocksteady:~$sshbeboptopTERMenvironmentvariablenotset.2
复制代码 免暗码登录
先用ssh-keygen天生一对私钥和公钥,然后把公钥增加到远程主机的authorized_keys里就好了- wdaher@rocksteady:~$sshbeboptopTERMenvironmentvariablenotset.3
复制代码 如许下次就能够间接登录了
--EOF--
看不懂man文档的人.在linux中,命令可分为系统基本命令和应用程序命令.系统基本命令是所有的unix类系统都支持的命令,走到哪都不变,只要是unix类系统上就肯定有. |
|