开启ssh服务
1.查看是否有sshd_config
cat /etc/ssh/sshd_config //查看是否有sshd_config文件
2.如果没有进行安装
sudo apt-get install opensshd-server //安装sshd-server,
Ubuntu缺省安装了openssh-client,如果你的没有安装,用apt-get install 进行安装即可。
3.查看sshsever是否启动
ps -e |grep ssh
1207 ? 00:00:00
ssh-agent #客户端
21834 ? 00:00:00
sshd #服务器
如果看到sshd则表示sshserver已经启动,如果只有ssh-agent,则表示没有启动,用
sudo /etc/init.d/ssh start 启动sshserver
4.ssh-server的配置文件位于 /etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。然后用以下命令重启SSH服务:
sudo /etc/init.d/ssh restart
5. 还可以用sudo netstat -tlp 命令来检测, 如果看到:
tcp6 0 0 [::]:ssh [::]:*
就表示sshserver启动正常。
通过客户端就可以访问了。
6.服务开启判断另一种方法
在ubuntu服务器上允许
ssh localhost
如果出现以下情况表示22端口没有正常开启
拓展:
netstat这个命令常用在网络监控方面。利用这个命令,可以查看当前系统监听的服务和已经建立的服务,以及相应的端口、协议等信息。
netstat参数说明
netstat参数虽然很多,但是常用的不多,主要是下面几个参数:
netstat -[atunlp]
- -a :all,表示列出所有的连接,服务监听,Socket资料
- -t :tcp,列出tcp协议的服务
- -u :udp,列出udp协议的服务
- -n :port number, 用端口号来显示
- -l :listening,列出当前监听服务
- -p :program,列出服务程序的PID
如果你需要深入了解,可以用man netstat查看netstat命令的详细说明。
netstat命令测试
netstat -atunlp
输出结果如下图
netstat命令演示
其中
- Proto :网络传输协议,主要为tcp和udp
- Local Address :本地的ip:port
- Foreign Address:远程主机的ip:port
- State :连线状态,主要有监听( LISTEN )和建立(ESTABLISED)
- PID :服务的进程编号
- Program name:服务名称
上面的倒数第二行的状态ESTABLISED,因为当前我正使用Xshell连接到这台主机。