linux 配置ssh有几种方法

linux 配置ssh有几种方法,第1张

直接使用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="1921681631"
REMOTEHOST=$(env | grep SSH_CLIENT | awk '{print $1}' | awk -F "=" '{print $2}')
if echo "${ALLOWHOSTSLIST}" | grep "${REMOTEHOST}" > /dev/null
then :
else
exit
fi
结果就只能通过IP地址是1921681631这台服务器通过ssh远程连接本服务器了。
3,可以把需要ssh远程服务器的IP地址添加到/etc/hostsallow,例如下面的 *** 作:
sshd:1921681631:allow #只允许这个IP地址ssh登录
sshd:192168163:allow #允许这个网段的所有IP地址ssh登录
sshd:all:deny #拒绝所有没有出现在上面的IP地址的ssh连接
4,也可以使用iptables指定能够远程ssh到服务器的IP地址
iptables -A INPUT -p tcp --dport 22 -s 1921681631 -j ACCEPT #允许这个IP地址ssh连接本服务器
iptables -A INPUT -p tcp --dport 22 -s 1921681630/24 -j ACCEPT #允许这个网段的所有IP远程ssh连接本服务器
iptables -A INPUT -p tcp --dport 22 -j DROP #除了上面允许的IP地址外,都拒绝使用ssh连接到服务器

在Linuxe服务器上开启远程和端口。内网的话直接用地址加端口即可连接。
外网需要做端口映射。
1开启ssh(secure shell)服务(我的是linux ubuntu 1010),当然在开启ssh服务之前,需要下载相关得软件,使用下面得命令即可:
sudo apt-get install ssh
然后进入/etc/initd 输入命令:sudo service ssh start 开启ssh服务
使用 netstat -tln 查看ssh服务是否已经打开(ssh 服务默认使用22端口)
若要关闭ssh服务时,使用 : sudo service ssh stop即可关闭ssh 服务
2在客户端(widnows主机)上下载ssh客户端putty,填写linux服务器ip,session name 然后保存,打开,输入用户名,和密码,那么就登录成功了!!!

一、查询SSH服务是否安装。

1、登陆linux系统,打开终端命令。输入 rpm -qa |grep ssh 查找当前系统是否已经安装。

2、如果没有安装SSH软件包,可以通过yum  或rpm安装包进行安装。

二、启动SSH服务。

1、安装好了之后,Ssh服务一般叫做 sshd,命令行输入service sshd start可以启动 。

2、或者使用 /etc/initd/sshd start

三、配置查看SSHD端口

1、查看或编辑SSH服务配置文件,如 vi /etc/ssh/sshdconfig   如果要修改端口,把 port 后面默认的22端口改成别的端口即可(注意前面的#号注释掉)。

修改属性文件:

去掉#哈希标识PasswordAuthentication yes:

去掉#PermitRootLogin,修改为yes:

查看SSH服务状态:

开机重启:

重启SSH服务:

开启SSH协议服务:

SSH远程连接:

默认配置
Windows下有很多SSH工具。在这里我是用的是Putty。如果安装了Git并配置使用Putty的话,就不需要另外在安装Putty了。使用SSH连接服务器的命令如下:
ssh IP地址
一般来说为了安全性考虑,端口号等一些参数并不会使用默认值。这样的话命令就变成这样:
ssh 用户名@IP地址 -p 端口号
如果连接成功的话会提示你输入远程服务器的密码。全部成功之后SSH就会显示远程服务器的提示符,这时候就说明连接成功了。
密钥登录
每次登录SH都需要输入密码很麻烦,而且可能不太安全。SSH还能使用另外一种登录方式,也就是使用密钥登录。这种登录方式需要客户端生成一堆公钥私钥对,然后将公钥添加到服务器中,这样下次就可以直接登录了。
首先生成SSH密钥,依照提示输入信息即可。默认生成在用户主目录中的ssh文件夹中。带pub的是公钥,接下来需要添加到服务器中。
ssh-keygen
然后将本地公钥添加到服务器中,需要使用另一个命令:
scp -P 端口号 本地文件路径 用户名@远程服务器地址:远程路径
然后登陆服务器,找到复制进去的公钥,将公钥名字改为authorized_keys并添加到对应的ssh文件夹中。然后退出SSH重新登陆试试,成功的话不需要输入密码就会直接进入远程服务器。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10234894.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存