ssh的英文全称是Secure SHell,这是一种既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的"通道"。ssh有很多的参数,下面就来介绍两个比较常用的参数PermitRo
ssh的英文全称是Secure SHell,这是一种既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的"通道"。ssh有很多的参数,下面就来介绍两个比较常用的参数
PermitRootLogin prohibit-password 这个参数的意思是否允许远程root登陆,默认是禁止远程root密码登陆,若是需要远程root登陆,就需要把这个更改为yes
PasswordAuthentication 这个参数是用来定义是否允许用密码登陆,这个在一般的情况下是yes,当然也有no情况
其他的参数设置参考这篇文档
###一般在ssh会遇到的问题
- 提示
# ssh 172.16.81.221ssh: connect to host 172.16.81.221 port 22: No route to host
这由于server端没有开机或是网络不通,或者是主机down了
- 提示
# ssh [email protected]: connect to host 172.16.81.221 port 22: Connection refused
这是因为对方的ssh服务没有开,开启对端sever的ssh即可
- 提示
# ssh [email protected]'s password:Permission denied, please try again.
这是由于在不输入用户名的情况下,默认是root用户登陆,结果可能是对端不允许root登陆.
- 提示
ssh [email protected]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!Someone could be eavesdropping on you right now (man-in-the-middle attack)!It is also possible that the RSA host key has just been changed.The fingerprint for the RSA key sent by the remote host is76:fb:b3:70:14:48:19:d6:29:f9:ba:42:46:be:fb:77.Please contact your system administrator.Add correct host key in /home/fante/.ssh/known_hosts to get rid of thismessage.Offending key in /home/fante/.ssh/known_hosts:68RSA host key for 172.16.81.221 has changed and you have requested strict checking.Host key verification failed
这是因为对端密码或是ip对应的server等其他发生改变,与当前的不一致导致的,删除~/.ssh/known_hosts的对应行,然后再登录即可。
- 提示
Xshell:/> ssh 121.207.***.***Connecting to 121.207.***.***:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]'.Connection closed by foreign host. Type `help' to learn how to use Xshell prompt.
在服务器上重启sshd服务时,有WARNNING的,但是,sshd服务是可以启动的,那么,问题可能出现在/etc/ssh/下面文件权限不对导致的,可以找一个可以使用的,然后对比一下,就可以发现其中的区别了。
###限制登陆服务器
- 增加hosts.deny或者是hosts.allow,限制ip
增加 /etc/hosts.deny 文件内容:
sshd:ALL
增加:/etc/hosts.allow 文件,
sshd:192.168.10.0/255.255.255.0(准许的网段)
或者是
sshd:192.168.10.1(准许的ip)
然后重启ssh服务,这两个文件是tcpd的配置文件,tcpd可以控制外部ip对本机的访问,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。ALL匹配所有情况,EXCEPT匹配除了某些项之外的情况,PARANOID匹配你想控制的IP地址和它的域名不匹配时(域名伪装)的情况。在两个配置文件有冲突时,linux 系统会先检查/etc/hosts.deny规则,再检查/etc/hosts.allow规则,如果有冲突 按/etc/hosts.allow规则处理。
- 限制用户需要修改/etc/sshd/sshd_config文件中增加指定的用户例如:AllowUsers user,如果有多个用户,可以使用空格隔开,也可以使用user@host的方法,而且,还支持user@ip/netmask的方式,如只允许192.168.1.0/24的网段使用root登陆,首先,要把PermitRootLogin设为yes,注掉也不行,因为其默认值即prohibit-password,然后在最后一行上加上
AllowUsers [email protected]/24
- 限制输入密码的次数修改MaxAuthTries