Linux网络服务-1-2-ssh配置参数

Linux网络服务-1-2-ssh配置参数

Scroll Down

1、ssh的配置文件

配置文件存放在/etc/ssh/目录下,红框标记的两个文件分别是:

# 客户端配置文件 ssh_config

# 服务器端配置文件 sshd_config (d-daemon)

     ssh相关配置文件中的注释项不一定是未生效的,有些选项其实是默认生效的,哪怕在配置文件中它是被注释的,所以需要修改相关配置时要取消掉注释再修改!
image.png

2、禁止root用户远程登录:

    因为root用户远程登录的过程中会传输账号密码、秘钥对等信息,这样就增大了隐私信息暴露的可能性,所以为了尽可能的安全,我们可以选择禁止root用户远程登录,仅允许普通用户登录,然后通过普通用户内部切换。
image.png
    PermitRootLogin yes表示允许root用户登录,如果你想禁止root用户登录,将yes改为no

    ( 禁止root用户使用ssh登录意味着你的服务器必须存在一个普通用户;如果你之前使用root用户设置了双向秘钥对验证,当你改为禁止root用户登录后,将无法使用普通用户登录,所以要想使用普通用户双向秘钥对验证,就要用为普通用户创建自己的客户端私钥与公钥文件 )

3、修改默认端口

    默认情况下ssh是使用TCP的22端口,像一些常见的扫描工具如namp可以很轻易地就扫描到常见服务的端口监听情况,为了安全起见,一般我们都会修改默认的22端口为TCP的高位端口(TCP端口范围1-65535)

# vim /etc/ssh/sshd_config

image.png
    将图中默认的Port 22注释项去掉,并将22修改为高位端口,然后重启sshd服务

    当在命令行使用ssh远程连接服务器的时候,可以通过“ -p ” 指定对方所使用的ssh监听端口

# ssh -p 2222 root@192.168.52.10

4、限制ssh监听IP

    在生产环境中,服务器安全级别都较高,一般都不允许外网直接远程连接,只有通过局域网才能登陆,而有一个跳板机(有的企业用的堡垒机)可以被外网远程登录,管理人员可以通过这个跳板机来登录其他的生产服务器!

# vim /etc/ssh/sshd_config
image.png
    ListenAddress 0.0.0.0 默认所有网址都可以通过ssh连接到这台服务器,当你将0.0.0.0修改为一个内网地址192.168.52.10的时候,就只有192.168.52.10这台机器才可以通过ssh远程连接到真实生产服务器了!

5、ssh衍生的两个命令

5.1 scp:安全远程文件复制命令

     scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,类似于cp命令,但是scp是在主机间进行文件传输且传输是加密的(速度可能不是非常的快),且scp非常节省系统资源,不会提高系统负荷

# 格式:
# scp  本地文件(绝对路径)  目标主机用户名@IP:绝对路径

     因为scp是使用ssh协议进行传输的,如果ssh修改了默认端口,在使用scp时就要通过 “ -P ” 来指定端口

5.2 sftp安全的文件传输协议

     sftp是Secure FileTransferProtocol的缩写,安全文件传输协议。sftp与ftp有着几乎一样的语法和功能。由于这种传输方式使用了加密/解密技术,所以sftp相比ftp更安全一些,但传输速率比普通的FTP要低

格式:

# sftp 用户名@远程服务器IP

ftp> help        可以查看详细的命令解释

     同样,如果ssh更换了默认端口,那么sftp就要通过 “-oPort=” 来指定所修改的端口

image.png