linux ssh 安全强化

背景:centos7或者ubuntu、OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013、xshell5

一、修改端口号

nmap、钟馗之眼等一些扫描工具会扫描一些常见端口,sshd的22端口必定也在其中

修改/etc/ssh/sshd_config,把 Port 22 修改成你喜欢的端口号,最好是>10000,但是要<65535

二、使用证书登录

1. 生成密钥,我这里用的是xshell 5

生成密钥.png
生成密钥.PNG

类型选择RSA,长度自己喜欢

生成密钥.PNG
生成密钥.PNG

这里可以选择保存为文件,然后使用winscp上传到服务器,然后拷贝内容到(你要登录的用户的home目录)/.ssh/authorized_keys

  如:cat id_rsa_2048.pub >>/home/(你要登录的用户用户名)/.ssh/authorized_keys

(推荐)或者直接拷贝公钥到/home/(你要登录的用户用户名)/.ssh/authorized_keys,没有.ssh文件夹和authorized_keys就自己新建一个,不过要注意文件所属者

1.1.(推荐)或者使用ssh-keygen 生成密钥

选项

  • -t #密钥类型,dsa | ecdsa | ed25519 | rsa | rsa1
  • -b bits #密钥长度 1024 | 2048 |4096 | 8192,默认2048
例:ssh-keygen -t rsa -b 4096

然后可以在/home/(user)/.ssh/ 目录中找到一对密钥id_rsa是私钥, id_rsa.pub是公钥,然后把公钥复制到authorized_keys,私钥自己留着

ok!到这里我们就得到一对密钥了,一个是公钥(已经拷贝到服务器上了),一个是私钥,在xshell5上(在工具->用户密钥管理者可以看到),私钥要导出来,然后随身携带,否者就无法登录自己的服务器了

2.修改/etc/ssh/sshd_config,修改以下几个选项

  • PermitRootLogin no #不允许root登录
  • StrictModes no #解决Authentication refused: bad ownership or modes for file /home/---/.ssh/authorized_keys的问题
  • RSAAuthentication yes #开启RSA类型认证
  • AuthorizedKeysFile .ssh/authorized_keys #认证密钥文件位置
  • PasswordAuthentication no #不允许直接密码登录(有了证书登录,就不用密码登录了)

3.登陆服务器

service sshd restart
尝试登录:

登录.PNG
OK!.PNG
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group...
    shuff1e阅读 1,807评论 1 11
  • 1、远程连接服务器 远程连接服务器对于管理员来说,是一个很有用的操作。它使得对服务器的管理更为方便。不过方便归方便...
    Zhang21阅读 39,619评论 0 20
  • 1.Linux安装前的配置 1.1.关闭防火墙 本站文档是假定「服务器在防火墙以内」的前提下编纂的,在这个前提下...
    lao男孩阅读 3,360评论 0 4
  • SSH是安全的远程登录,使用SSH v2的协议版本,基于DH算法做密钥交换,基于RSA或DSA实现身份认证。SSH...
    Yi_Feng阅读 1,166评论 0 1
  • 文/:吴世和 走进猫石河, 山明水秀,鸟欢鱼乐。 祥云缭绕,日丽风和, 正孕育着繁花朵朵。 走进猫石河, 琼楼笋拔...
    盛世和谐阅读 286评论 0 0