ssh无密码连接

1. 生成密钥对文件

[root@centos2 ~]# ssh-keygen -t rsa -b 2048
    
    -t        指定加密类型    
    -b        指定密钥对加密长度

   询问1:执行过程中会询问保存位置,一般默认保存在当前用户家目录下的.ssh/目录下
   询问2:是否对密钥文件进行加密
      加密:若加密,则在调用密钥文件时需要先验证密钥的密码,密码正确才能使用密钥文件
      不加密:若不加密,则密钥文件可以直接被调用,整个登录验证过程无需输入任何密码,即为免密登录

2. 将公钥上传至目标服务器

[root@centos2 ~]# ssh-copy-id [email protected]

3. 登录

[root@centos2 ~]# ssh [email protected]

4. 一些优化

4.1 禁止使用密码登陆

配置文件:/etc/ssh/sshd_config

选项:

  PasswordAuthentication no

注意:ssh的配置文件中,并不是注释掉的就是不生效的,有些是默认的,需要修改时必须取消注释

4.2 禁止使用root远程登录

配置文件:/etc/ssh/sshd_config

选项:

  PermitRootLogin no

4.3 修改默认端口、限制ssh监听IP

修改默认端口:ssh 作为一个用来远程管理服务器的工具,需要特别的安全,默认情况下使用TCP的22端口,若不进行修改,很容易被利用遭到攻击,所以我们一般都会修改端口,尽量修改一个高位端口(范围1-65535)

配置文件:/etc/ssh/sshd_config

选项:

  Port 25535

  ssh -p 25535 [email protected]

限制ssh监听IP:有些服务器则安全级别更高一些,不允许使用外网直接登录,只有通过局域网才能登录,我们可以在机房里设置其中一台能够被外网远程连接,其他的主机都通过这个机器进行远程连接即可

配置文件:/etc/ssh/sshd_config

选项:

  ListenAddress 192.168.80.128

猜你喜欢

转载自www.cnblogs.com/sswind/p/11867337.html