您的位置:时时app平台注册网站 > 时时app平台注册网站 > SSH的使用和概要

SSH的使用和概要

2019-12-06 12:33

因为家里有两台电脑,一个centos7 系统,一个Mac,都是笔记本,感觉两个拿来拿去的用太麻烦了,所以就想用ssh连接cenots7 的电脑,这样就没那么麻烦了。欢迎大家指正

linux 控制sshd的远程访问

测试环境:linux centos6.5

 

1、hosts.allow文件配置:

 

修改/etc/hosts.allow文件

#

# hosts.allow This file describes the names of the hosts which are

# allowed to use the local INET services, as decided

# by the ‘/usr/sbin/tcpd’ server.

#

sshd:210.13.218.*:allow

sshd:222.77.15.*:allow

 

以上写法表示允许210和222两个ip段连接sshd服务(这必然需要和hosts.deny这个文件配合使用),当然“:allow” 完全可以省略的。当然如果管理员集中在一个IP那么这样写是比较省事的

all:218.24.129.110//他表示接受110这个ip的所有请求!

 

2、hosts.deny文件配置

/etc/hosts.deny文件,此文件是拒绝服务列表,文件内容如下:

#

# hosts.deny This file describes the names of the hosts which are

# *not* allowed to use the local INET services, as decided

# by the ‘/usr/sbin/tcpd’ server.

#

# The portmap line is redundant, but it is left to remind you that

# the new secure portmap uses hosts.deny and hosts.allow. In particular

# you should know that NFS uses portmap!

sshd:all:deny

 

注意看:sshd:all:deny表示拒绝了所有sshd远程连接。:deny可以省略。

 

所以:当hosts.allow和 host.deny相冲突时,以hosts.allow设置为准。

 

修改完成后立刻生效。

 

3、扩展:

 

1.禁止所有ip访问linux 的ssh功能

 

可以在/etc/hosts.deny添加一行 sshd:all:deny

 

2.禁止某一个ip(192.168.11.112)访问ssh功能

 

可以在/etc/hosts.deny添加一行sshd:192.168.11.112

 

3.如果在/etc/hosts.deny和/etc/hosts.allow同时 有sshd:192.168.11.112 规则,则192.168.11.112可以访问主机的ssh服务

 

总结:通过这种方法可以控制部分非授权访问,但不是一劳永逸的方法!我们在看服务日志的时候或许会看到很多扫描记录,不是还是直接针对root用户的,这时控制你的访问列表就非常有作用了!

控制sshd的远程访问 测试环境:linux centos6.5 1、hosts.allow文件配置: 修改/etc/hosts.allow文件 # # hosts.allow This file describes the names of the host...

 

配置centos7的ssh

  • 文件位置 /etc/ssh/sshd_config

    Port 22 # 自己个设置
    Protocol 2 # 选择ssh协议版本,默认支持v2

  • 配置防火墙

firewall-cmd --zone=public --add-port=10022/tcp --permanent # 向防火墙中添加端口的命令为
firewall-cmd --reload # reaload 防火墙规则
firewall-cmd --zone=public --query-port=10022/tcp # 查看端口是否添加成功
# 向SELinux中添加修改的SSH端口
semanage port -l | grep ssh # 查询当前 ssh 服务端口
semanage port -a -t ssh_port_t -p tcp 10022 # 向 SELinux 中添加 ssh 端口
semanage port -l | grep ssh # 验证 ssh 端口是否添加成功
systemctl restart sshd # 添加成功之后就可以重启 ssh 服务了
  • /etc/hosts.allow 及 /etc/hosts.deny

    vim /etc/hosts.allow 设置允许访问的ip
    sshd: 127.0.0.1 192.168.0.101 ...
    vim /etc/hosts.deny 设置拒绝访问的ip
    sshd: ALL

                   不能根据一个密钥而推算出另外一个密钥;

Mac配置静态ip

图片 1
图片 2

位置是可以修改的

1、清空/etc/resolv.conf文件中nameserver记录

注意:这个时候已经配置完成了,用另外一个电脑通过命令ssh root@192.168.0.100 -p 10022可以连接的,如果连接不上,很可能是路由器的问题,比如设置了“AP隔离”。

密码验证:使用服务器中系统帐号对应的密码;(PasswordAuthentcation  yes)

设置免密登录

将Mac(控制)上的ssh公钥复制到centos7(被控制)上,在centos7中设置如下:

  • 在用户目录下建文件夹(如果未有).ssh,权限700
  • 在.ssh下新建文件authorized_keys,权限为644,将公钥复制到其中

到此完结

service sshd restart # 重启sshd

配置静态ip

        rm -rf  /root/.ssh/know_hosts

centos7 配置

  • 进入network-scripts目录并且查看该目录下存在的ifcfg-xx文件(xx为当前连接无线网的名称)
  • 修改配置
BOOTPROTO=static #将dncp改为static
ONBOOT="yes"  #开机时启用本配置
IPADDR=192.168.13.131 #静态ip
GATEWAY=192.168.13.2 #默认网关
NETMASK=255.255.255.0#子网掩码
DNS1=192.168.13.2 #DNS配置
# 完整的内容如下
HWADDR=60:18:8C:EF:EF:35
ESSID=2101
MODE=Managed
KEY_MGMT=WPA-PSK
MAC_ADDRESS_RANDOMIZATION=default
TYPE=Wireless
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=2101
UUID=530616aa-faed-4375-8a39-8367b736556c
ONBOOT=yes
IPADDR=192.168.0.93
GATEWAY=192.168.0.1
NETMASK=255.255.255.0
DNS1=218.2.2.2
DNS2=218.4.4.4
# 重启网络服务
service network restart
#查看改动后的效果两者都可以查看
ifconfig
ip addr

  www.2cto.com  

                

            

        

 

        服务器端

            netstat -anpt  |  grep  sshd   查看端口

passwd user1 #为用户user1创建密码

  www.2cto.com  

                /etc/ssh/ssh_config客户端文件

        service sshd restart

 

            

 

下面三种方法都可以解决这个问题

        查看具体服务是否控制:ldd /usr/sbin/sshd  |  grep wrap

        客户端:

 

 

 

服务器端的密钥存放位置

groupdel SSH #删除组SSH

                        2,受支持libwrap.so模块的服务

        它能控制服务的范围:1,受super daemon (xinetd) 服务管理

        这里的例子是一个普通用户登录到服务器中的普通用户,root用户登录就更加简单,不用创建文件,不用修改权限,生成秘钥的地方的root下

~.ssh目录下

        修改后要重启服务:service xined restart

            登录主机:ssh [email protected]

 

 

OpenSSH:

ps -aux | grep sshd #查看是否运行成功

           将解密的摘要值与产生的摘要值对比;

发送方使用接受方的公钥加密数据;

        

2

                StrictHostKeyChecking no  第一次访问服务器时不用输入yes

groupadd SSH #添加组

3.ssh 服务器地址(服务器正在使用哪个用户就以哪个用户登录)

SSH登录的用户验证方式

        在密码认证的时候要看:服务器端中的 /etc/ssh/sshd_config 中PasswordAuthentcation  yes,,才能用密码认证

passwd #修改当前用户密码

1

接受方:用发送方公钥解密摘要值,同时对收到的原始数据同样执行HASH产生另一种摘要值;

        首先检查hosts.allow文件,若找到相匹配的策略,则允许访问;否则继续检查hosts.deny文件,若找到了

使用ssh命令远程登录方法:

ssh访问很慢的原因和解决办法

            su - xiaolue  

 

服务端配置文件:/etc/ssh/sshd_config (重启shhd服务生效)

配置案例:  www.2cto.com  

停用帐号,VIM编辑密码文件,在用户名后添加 ":*" 。  www.2cto.com  

    

        vim /etc/hosts.allow

authorized_keys 存放需要验证的客户机的公钥

客户端密钥存放位置

                

                    复制scp的地方也在root下:

        /etc/hosts.deny

客户端主程序:/usr/bin/ssh

                     service sshd restart     重启服务

1.ssh 用户名@服务器地址

SSH服务(TCP端口号22):安全的命令解释器

            ssh-keygen

/etc/ssh/ssh_host_*

            useradd xiaolue

        

    秘钥方式  www.2cto.com  

            scp /home/xiaolue/.ssh/id_rsa.pub [email protected]:/home/xiaohua/.ssh/authorized_keys

.ssh文件夹和下面的文件权限的组和其它人不能有w权限

数据加密  和  数字签名  (根据功能不同分的)

        密码方式:  

SSH基于公钥加密(非对称加密)技术: 数据加密传输; 客户端和服务器的身份验证;

SSH的使用和概要

            查看文件:修改    /etc/ssh/sshd_config中   PubkeyAuthentication yes

问题二:若是公钥文件出了问题,会导致无法认证,解决方法,就是把文件删除

密钥对验证:使用客户端中生成的公钥、私钥;(PubkeyAuthentication yes  AuthorizedKeyFile  .ssh/authorized_keys)

            ssh直接在远程主机上新建用户: ssh [email protected] adduser txy

userdel user1 #删除用户user1

访问控制:

 

                           idd $(which 服务)   |  grep wrap

known_hosts  存放访问过的服务器的公钥

 vim /etc/shadow

数字签名:(数字签名保证数据完整性、身份验证和不可否认)

    第一次访问服务器时不用输入yes

3、修改客户机的/etc/ssh/ssh_config文件中:GSSAPIAuthentication no

 

2、在客户机的/etc/hosts文件中添加服务器域名的解析记录

数据加密保证了所发送数据的机密性;

           将加密的摘要值与原始数据发送给接受方;

        

另外一些常用SSH相关的命令:

SSH登录使用的用户名:服务器中的本地系统用户的帐号名;

            修改文件权限:    chomd -R 600 /home/xiaohu/.ssh 在这个文件中别的用户不能有w权限

客户端配置文件:/etc/ssh/ssh_config

            创建文件:    mkdir /home/xiaohua/.ssh

接受方使用自己的私钥解密数据;

                ssh -o StrictHostKeyChecking=no [email protected]

useradd -g SSH -s /bin/'bash' -d /home/user1 user1 #添加用户

                        

服务端主程序:/usr/sbin/sshd

SSH服务(TCP端口号22):安全的命令解释器 为客 户机提供安全的Shell 环境,用于远程管理 SSH基于公钥加密(非对称加密)...

发送方:对原始数据执行HASH算法得到摘要值;发送方用自己的私钥加密摘要值;

        /etc/hosts.allow 优先于下面的

原因:访问服务器的时候会把服务器的ip地址反向解析为域名,如果无法解析就会导致登陆时很慢

                   公钥对外公开,私钥只有私钥的持有人才知道;

 

 

            sshd:210.13.218.*:allow  允许登录的ip ,allow可以省略

2.ssh -l 用户名  服务器地址  (较少用)

 

公钥 和 私钥   是成对生成的,这两个密钥互不相同,两个密钥可以互相加密和解密;

为客 户机提供安全的Shell 环境,用于远程管理

        相匹配的策略,则拒绝访问;如果两个文件中都没有相匹配的策略,则允许访问;  www.2cto.com  

本文由时时app平台注册网站发布于时时app平台注册网站,转载请注明出处:SSH的使用和概要

关键词: