如何实现用SSH远程登录Linux服务器的用户的权限
本篇内容介绍了“如何实现用SSH远程登录Linux服务器的用户的权限”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联建站长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为白云鄂企业提供专业的网站设计制作、网站建设,白云鄂网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。
为了满足“break qiang”的需要,在国外的Linux主机上(比如 DreamHost )上建个可 ssh登录的用户,使用 ssh 的 Tunnel 来作代理是十分常见的方法。
但是主人往往又想最小化用户权限,以避免对系统造成影响。最简单的办法就是,禁止用户登录。
其实 ssh 可以连接到 sshd 但是不执行远程命令(默认是启动用户设定的 shell ),使用 -N 参数即可。
在服务器上建一个 username :
添加用户:useradd -s /bin/false username,将用户的shell设置成/bin/false。这样用户就无法与系统进行交互。
设置密码:passwd username
当然对已有的用户也可以更改用户权限为只能tcp转发:
代码如下:
usermod -s /bin/false USERNAME
也可以使用 /usr/bin/passwd 作为用户的 shell ,这样用户就可以通过登录而来自主修改密码。需要注意的是,需要将 /usr/bin/passwd 这一行写进 /etc/shells文件。
sshd 认证通后之后,会检查设定的 shell 是否登记在 /etc/shells 文件中,若已经登记,则fork自己,然后fork出来的子进程再exec 设定的 shell 。而 ssh 的 -N 参数,则是告诉 sshd 不需要执行 shell。
建立Tunnel:
代码如下:
ssh -D 1080 -qfnN username@hostname
输入密码即可使用(也可以用key认证)。
Windows的话,可以使用plink.exe或者MyEnTunnel(MyEnTunnel 本质上也是使用plink.exe来建立Tunnel)。
此时账号username 可以通过sshd的认证使用 TcpForwarding ,但是不能运行 shell,不能与系统交互。刚好可以用来为朋友提供国外的代理break qiang。
参数详解:
-D 1080 建立动态Tunnel,监听在本地1080端口。
-q 安静模式。
-f ssh在后台运行,即认证之后,ssh退居后台。
-n 将 stdio 重定向到 /dev/null,与-f配合使用。
-N 不运行远程程序。即通知 sshd 不运行设定的 shell。
“如何实现用SSH远程登录Linux服务器的用户的权限”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
分享题目:如何实现用SSH远程登录Linux服务器的用户的权限
文章源于:http://myzitong.com/article/pcgjoi.html