大概有如下几个方面:
1. 禁止root帐号ssh,使用自定义帐号ssh;
这样一来,黑客要先猜到帐号,然后才能猜解密码;
2. 禁止帐号登录,使用pubkey登录;
3. 作ip ACL,只允许几个特定的IP访问;
4. ssh端口迁移,将默认22端口改为其他端口;
5. 启动尽量少的服务;如无必要,不起服务。
但是测试pubkey的时候,发现了一个问题:使用xshell产生的私钥文件,拿到securecrt使用的时候,不成功!具体原因,请查看全文的最后一句结论。
问题2:一台Linux机器如何使用私钥,ssh另外一台Linux?
命令格式如下:#ssh -i identity_file username@server
经过实验发现:xshell产生的私钥文件,在Linux上面可以直接使用,没有问题;使用方法:
#
ssh -i identity_file username@server
identity_file为 xshell产生的私钥文件;
经过搜索发现:SecureCRT产生的私钥文件,在Linux上面也是可以使用的;
如果为“标准公钥和VanDyke私钥格式”,那么需要使用ssh-keygen转换一下,然后使用即可;
如果为“OpenSSH密钥格式”,就无需转换,可以直接使用。
也就是说:xshell可以与Linux共享私钥文件(private key file), SecureCRT也可以于Linux共享私钥文件(private key file), 为什么xshell与SecureCRT不可以共享私钥文件呢?
我们将整个过程梳理一遍;
1. SecureCRT生成公钥/私钥对,“OpenSSH密钥格式”,
a. 公钥上传到服务器,导入到/root/.ssh/authorized_keys2文件中;
#
cat ./Identify.pub >> /root/.ssh/authorized_keys2
b. 修改sshd的配置文件;
$
sudo vim /etc/ssh/sshd_config
Protocol 2 /仅允许使用SSH2
PubkeyAuthentication yes /*启用PublicKey认证
AuthorizedKeysFile .ssh/authorized_keys2 /*PublicKey文件路径
PasswordAuthentication no /*禁止密码验证登录
c. 重启sshd服务;
#service sshd restart
d. 测试;
使用SecureCRT登录,ok,没有问题;
将私钥文件Identify给一台Linux客户端,
#ssh -i Identify username@server
同样ok,也没有问题;
提示:Linux客户端中可能会出现提示说,private key file未设保护;
只需要
#chmod 600 Identify
2. SecureCRT生成公钥/私钥对,“标准公钥和VanDyke私钥格式”,
a. 公钥上传到服务器,格式转换后,导入到/root/.ssh/authorized_keys3文件中;
# ssh-keygen -i -f /home/guoq/Identity2.pub >> /root/.ssh/authorized_keys3
b. 修改sshd的配置文件;
$ sudo vim /etc/ssh/sshd_config
Protocol 2 /仅允许使用SSH2
PubkeyAuthentication yes /*启用PublicKey认证
AuthorizedKeysFile .ssh/authorized_keys3 /*PublicKey文件路径
PasswordAuthentication no /*禁止密码验证登录
c. 重启sshd服务;
#service sshd restart
d. 测试;
在SecureCRT中建立另外一个Session,登录同样的服务器,只是私钥文件选用Identify2;
退出,
使用SecureCRT的Session登录,失败,因为公钥/私钥已经改变;
使用SecureCRT的Session2登录,ok,没有问题;
将私钥文件Identify2给一台Linux客户端,
#ssh -i Identify2 username@server
输入三次passphrase后,失败。
使用SecureCRT将Identify2转换成为OpenSSH格式后,Linux客户端重试,ok,没有问题;
3. xshell生成公钥私钥对,DSA, openSSH格式,
a. 公钥上传到服务器,导入到/root/.ssh/authorized_keys4文件中;
#
cat /home/guoq/id_dsa_1024.pub >> /root/.ssh/authorized_keys4
b. 修改sshd的配置文件;
#
vim /etc/ssh/sshd_config
Protocol 2 /仅允许使用SSH2
PubkeyAuthentication yes /*启用PublicKey认证
AuthorizedKeysFile .ssh/authorized_keys4 /*PublicKey文件路径
PasswordAuthentication no /*禁止密码验证登录
c. 重启sshd服务;
#service sshd restart
d. 测试;
使用xshell登录,ok,没有问题;
将私钥文件id_dsa_1024给一台Linux客户端,
#ssh -i id_dsa_1024 username@server
同样ok,也没有问题;
4. 将xshell的私钥文件id_dsa_1024给SecureCRT使用;
也同样ok,没有问题;
5. 刚才的步骤3中,导出的私钥格式,选择为OpenSSH,这样步骤4就没有问题了;
验证是否导出的私钥格式,选择为"User Key Files(*.pri)", 重复步骤4,果然不可以;
同样的,私钥格式,选择为"*.*", 重复步骤4,也不可以;
so. 结论是,如果是OpenSSH格式的私钥文件,那么xshell, SecureCRT, Linux客户端均可以使用。
相关推荐
linux安全配置linux安全配置linux安全配置linux安全配置
Linux安全配置脚本
适用于使用Linux操作系统的设备。本规范明确了安全配置的基本要求,可作为设备入网测试、安全验收、安全检查规范等文档的参考。
华为Linux安全配置操作规范
window 2003操作系统安全设置与Linux安全配置步骤大全
Linux安全配置,密码安全配置,系统安全配置,身份鉴别,口令复杂度策略,多次登录失败锁定策略,多余账户锁定策略,共享账号检查,用户缺省权限控制,禁止Control-Alt-Delete键盘关闭命令,日志文件权限,统一远程...
1、如果是新安装系统,对磁盘分区应考虑安全性: 1)根目录(/)、用户目录(/home)、临时目录(/tmp)和/var目录应分开到不同的磁盘分区; 2)以上各目录所在分区的磁盘空间大小应充分考虑,避免因某些原因造成...
Linux基本防护措施 使用sudo分配管理权限 提高SSH服务安全 SELinux安全防护 加密与解密应用 使用AIDE做入侵检测 扫描与抓包分析 案例1:部署audit监控文件 案例2:加固常见服务的安全 案例3:使用diff和patch工具打...
IBM LINUX 安全配置 security check list
这个是腾讯内部培训资料,非常好的一篇介绍关于linux系统安全配置的文档,很实用。
LINUX系统安全配置宝典(三)是关于Linux系统安全配置的重要参考文献,本文档将从资源限制、PAM配置、文件系统挂载选项、RPM程序安全等方面详细介绍Linux系统安全配置的各种方法和技术。 资源限制是Linux系统安全配置...
Linux教程-linux安全配置.docx
linux安全配置.pdf
Linux安全配置规范(20180615172451)
Linux安全配置基线.doc
Linux安全配置分析.pdf
做一个系统管理员,不可能不对linux安全设置方面有一个全面的了解。
Linux安全设置简介.pdf