Ubuntu SSH服务器搭建,Xshell使用
安装
sudo apt-get update #更新源列表 sudo apt-get install openssh-client sudo apt-get install openssh-server sudo service ssh start sudo ps -e | grep ssh # 查看是否启动
常用命令
sudo service ssh start/stop/reload/force-reload/restart/try-restart/status sudo service ssh start # 启动 sudo service ssh restart # 重新启动 sudo service ssh stop # 停止 sudo service ssh status # 查看状态 sudo /etc/init.d/ssh start # 启动 sudo /etc/init.d/ssh stop # 停止 sudo systemctl start sshd
上述不好使
whereis sshd # 查找sshd进程位置 /usr/sbin/sshd -D &
允许root用户ssh远程登录
因为安全问题默认是不启用root用户也不允许root远程登录的。所以需要先启用root用户
修改ssh的配置文件
找到文件
/etc/ssh/sshd_config
找到配置文件下面的地方
# Authentication: LoginGraceTime 120 PermitRootLogin prohibit-password StrictModes yes
修改为
# Authentication: #LoginGraceTime 2m #PermitRootLogin prohibit-password PermitRootLogin yes StrictModes yes
重新启动ssh服务
sudo service sshd restart
修改root用户密码
sudo passwd root
远程登录进行测试
ssh username@192.168.1.112
username为192.168.1.112 机器上的用户,需要输入密码。
问题汇总
SSH以前可以使用,但某一天使用中被强制退出,随后无法连接,报错:Xshell链接错误:Could notconnect to '192.168.18.128' (port 22): Connection failed.
查看SSH现在已建立的连接,发现虽然没有人正在使用,但还是有很多已被建立的连接,sudo service sshd restart 也无效
$ ps -ef | grep ssh root 2456 18096 0 13:32 ? 00:00:00 sshd: 用户名 [priv] 用户名 2463 2456 0 13:32 ? 00:00:00 sshd: 用户名@pts/4 用户名 3871 2464 0 13:34 pts/4 00:00:00 grep --color=auto ssh root 18096 1 0 13:13 ? 00:00:00 /usr/sbin/sshd -D
解决办法:
sudo killall sshd # 杀死所有sshd进程 sudo service sshd restart # 重启sshd服务
ssh能够连接而sftp不能连接的解决方法
作者:树遥儿
链接:https://www.jianshu.com/p/14e3532968ea
sudo /etc/init.d/sshd status
发现sshd是running的,但是登录失败,ssh到这台机器是可以的,
下面找一下原因:
sudo tail /var/log/secure Jul 27 15:26:31 iZuf66377q7u5teyfg3t6nZ sshd[582]: subsystem request for sftp Jul 27 15:26:31 iZuf66377q7u5teyfg3t6nZ sshd[582]: error: subsystem: cannot stat /usr/lib/openssh/sftp-server: No such file or directory Jul 27 15:26:31 iZuf66377q7u5teyfg3t6nZ sshd[582]: subsystem request for sftp failed, subsystem not found
可以看出是没有sftp-server的目录。
我们找一下sftp-server的路径地址
sudo locate sftp-server /usr/libexec/openssh/sftp-server /usr/share/man/man8/sftp-server.8.gz
然后打开配置:
vi /etc/ssh/sshd_config
将Subsystem sftp /usr/lib/openssh/sftp-server
改成Subsystem sftp /usr/libexec/openssh/sftp-server
然后reload一下sshd
sudo /etc/init.d/sshd reload

浙公网安备 33010602011771号