当前位置:首页 / 标签 ssh 下的文章

0

ssh能够连接而sftp不能连接的解决方法

it技术 | 2016-12-14 | 个浏览

使用xshell从命令行切换到sftp时出现错误为:

sftp subsystem request is rejected.
please make sure that sftp subsystem is properly installed in ssh server.

下面找一下原因:

[root@bogon ~]# tail /var/log/secure

Feb 23 16:29:48 localhost sshd[2989]: subsystem request for sftp
Feb 23 16:29:48 localhost sshd[2989]: subsystem request for sftp failed, subsystem not found

可以看出是没有sftp-server的目录没有找到

我们找一下sftp-server的路径地址:

[root@bogon ~]# locate sftp-server
/usr/libexec/openssh/sftp-server
/usr/share/man/man8/sftp-server.8.gz

然后打开配置:

[root@bogon ~]# vi /etc/ssh/sshd_config 

# override default of no subsystems
# Subsystem       sftp /usr/libexec/openssh/sftp-server

替换成

# override default of no subsystems
Subsystem       sftp /usr/libexec/openssh/sftp-server

ok,重新load一下sshd.

[root@bogon ~]# /etc/init.d/sshd reload

重新连接发现OK了。


0
通过ssh端口映射 间接访问远程内网服务器

通过ssh端口映射 间接访问远程内网服务器

it技术 | 2016-07-27 | 个浏览

现在有两台服务器,SERVER A 可通过外网访问,SERVER B (linux/mac/windows)通过局域网与A连接,由于种种原因(防火墙啊、外网限制啊),我们(client)无法直接登录B 或 访问B上的业务系统。

那么问题来了,怎样才能通过 A 来访问 B ?

ssh-port-forword.png

SSH 是一个很好的工具,我们可以通过 SSH 的本地端口映射功能,将远程 B 的端口,映射至本地端口,来实现通过 A 间接访问 B 。

具体命令:

ssh USER@HOST_A-P HOST_A_SSH_PORT-L127.0.0.1:LOCAL_PORT:HOST_B:HOST_B_PORT#USER A 服务器 ssh用户名,如:root#HOST_A 服务器A IP地址(域),如:1.2.3.4#HOST_A_SSH_PORT 服务器A ssh端口,如:22#LOCAL_PORT 映射到本地的端口,如:13306#HOST_B 服务器B IP地址,和A同一内网的内网IP地址,如10.0.0.102)#HOST_B_PORT 服务器B上需要被外网访问到的端口,如3306EG.ssh root@1.2.3.4-P22-L127.0.0.1:13389:10.0.0.102:3389#通过 1.2.3.4 的 ssh 用户 root,将 10.0.0.102服务器的 3389 端口映射到本地的13389端口,从来实现,通过127.0.0.1:13389连接远程win serverssh root@1.2.3.4-P22-L127.0.0.1:13306:10.0.0.102:3306#映射远程 MySQL端口至本地 端口 13306

工具:
1、windows 下 putty
20150721150009.png

20150721145806.png

20150721150537.png

保存此窗口一直打开,使用完成后 exit 退出关闭。

20150721145638.png

2、linux、mac 直接输入命令即可,当然,也可以使用其它的工具,如vssh、zoc等。