linux环境下安装ssh

linux 配置ssh有几种方法 直接使用Linux系 统的root帐户登录系统,在很多环境下是不允许而且如果网络中的所有机器都能使用ssh登录关键服务器也是不允许的这就要求我们需要使用一些手段, 现在root帐号的登录,而且是只有指定的几台机器才能登录当然限制登录的ip这些通过网络设备也恩那个完成但是我们只需要了解怎么使用系统自己的功 能实现,这是每一个系统管理员都比较了解的
1,修改ssh的配置文件,是root用户只能通过本地登录,不能通过远程ssh连接服务器
vim /etc/ssh/sshd_config,
把#PermitRootLogin yes改成
PermitRootLogin no,然后重启ssh服务器,root用户就不能通过ssh远程登录系统了,只能通过一个普通帐号su或者本地登录
2,可以同修改其他系统配置文件,使之能通过几个指定的IP远程ssh登录服务器把下面这段放到root的.bash_profile文件中
ALLOWHOSTSLIST="192.168.163.1"
REMOTEHOST=$(env | grep SSH_CLIENT | awk '{print $1}' | awk -F "=" '{print $2}')
if echo "${ALLOWHOSTSLIST}" | grep "${REMOTEHOST}" > /dev/null
then :
else
exit
fi
结果就只能通过IP地址是192.168.163.1这台服务器通过ssh远程连接本服务器了
3,可以把需要ssh远程服务器的IP地址添加到/etc/hosts.allow,例如下面的操作:
sshd:192.168.163.1:allow #只允许这个IP地址ssh登录
sshd:192.168.163.:allow #允许这个网段的所有IP地址ssh登录
sshd:all:deny #拒绝所有没有出现在上面的IP地址的ssh连接
4,也可以使用iptables指定能够远程ssh到服务器的IP地址
iptables -A INPUT -p tcp --dport 22 -s 192.168.163.1 -j ACCEPT #允许这个IP地址ssh连接本服务器
iptables -A INPUT -p tcp --dport 22 -s 192.168.163.0/24 -j ACCEPT #允许这个网段的所有IP远程ssh连接本服务器
iptables -A INPUT -p tcp --dport 22 -j DROP #除了上面允许的IP地址外,都拒绝使用ssh连接到服务器

linux ssh安装一般来说,现在的Linux都带有open ssh,可以通过下面的命令看看是不是启用了sshd:

ps -ef | grep sshd

如果没有启用可以在/etc/init.d里面找到启用.

还应该注意的是ssh工具包带有一个称为make-ssh-known-hosts的程序它会扫描整个域的ssh主机你有时会被使用这一程序的人无意中扫描到

(随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)
来源:本文由易搜IT博客原创撰写,欢迎分享本文,转载请保留出处和链接!