使用SecureCRT工具创建RSA公钥和私钥

【选项】=》【会话选项】

然后在弹出对话框中选择【公钥】然后点击【属性】:

在弹出窗口中选中【使用会话公钥设置】,点击【创建身份文件】按钮:

然后下面是进行密钥设置向导,按照如图设置,然后点击下一步:

关于这里的【通行短语】和【注释】可以不同填写,但是如果【通行短语】设置了的话,那么需要记住,因为第一次登录会被使用到:

这里选择公钥和私钥文件的保存路径

下面是提示是否需要上传密钥信息,这里我们选择【否】,我们自己手工上传:

然后我们点击确定按钮:

上传公钥

#下面的做法是在用户的用户目录中建立一个.ssh(前面用了.表示是隐藏目录)目录,在目录中添加一个authorized_keys文件,将刚刚生成的.pub后缀的文件内容粘贴到authorized_keys文件中。设置这个authorized_keys文件的权限设置成600,而将.ssh的目录权限设置成700。
[root@localhost ~]# cd /home/ALone
[root@localhost ALone]# mkdir .ssh
[root@localhost ALone]# chmod 700 .ssh
[root@localhost ALone]# cd .ssh
[root@localhost .ssh]# vim authorized_keys
[root@localhost .ssh]# chmod 600 authorized_keys
[root@localhost .ssh]# ls -ld ../.ssh authorized_keys
-rw-------. 1 root root 381 Dec 24 09:53 authorized_keys
drwx------. 2 root root 4096 Dec 24 09:53 ../.ssh
#这里我们需要将公钥和.ssh目录的所有者和所属组设置成ALone,否则就会出现无法连接的情况
[root@localhost .ssh]# chgrp ALone authorized_keys ../.ssh
[root@localhost .ssh]# chown ALone authorized_keys ../.ssh
[root@localhost .ssh]# ls -ld ../.ssh authorized_keys
-rw-------. 1 ALone ALone 381 Dec 24 09:26 authorized_keys
drwx------. 2 ALone ALone 4096 Dec 24 09:26 ../.ssh

设置允许使用密钥登录

[root@localhost .ssh]# vim /etc/ssh/sshd_config

#来到47行将下面三行内容前面的井号去掉

#RSAAuthentication yes

#PubkeyAuthentication yes

#AuthorizedKeysFile      .ssh/authorized_keys

对于这个位置,原本是注释掉了,发现如果没有将注释去掉还是可以使用密钥登录的,但是如果将上面的注释去掉并且将yes修改成no,那么就不能密钥登录了。登录的时候会得到下面内容:

设置禁止通过密码登录ssh

#禁止掉密码登录,编辑vim /etc/ssh/sshd_config文件来到66行,将PasswordAuthentication中的yes设置成no:

修改ssh的默认连接端口

#修改SSH的默认连接端口,编辑vim /etc/ssh/sshd_config文件来到13行,将Port前面的井号去掉,然后将后面的22修改成自己想要的端口号:

#接着我们需要将这个端口加入iptables中
[root@localhost .ssh]# iptables -I INPUT -p tcp --dport 10078 -j ACCEPT

禁止root用户远程登录

编辑vim /etc/ssh/sshd_config文件,来到45行中将PermitRootLogin一行注释去掉,并且将yes修改成no,这里发现如果PermitRootLogin值没有明确设置成no(就是注释掉或者没有注释掉而值设置成yes)都是允许root用户登录的。

在对于上面/etc/ssh/sshd_config文件的修改后需要保存文件,然后平滑重启ssh服务
[root@localhost .ssh]# /etc/init.d/sshd reload

最新文章

  1. GIT 操作
  2. The trip(Uva 11100)
  3. SQL Server Reporting Services本机模式下的权限管理
  4. &12-2 查找二叉搜索树
  5. Windows NT驱动程序的基本结构和实例
  6. IOS中图片拉伸技巧与方法总结(转载)
  7. Python创建Cocos2d-x 2.2方法
  8. Codeforces Round #382 (Div. 2) D. Taxes 歌德巴赫猜想
  9. ebj笔记
  10. php 格式
  11. Hibernate实体对象继承策略
  12. 关于String的相关常见方法
  13. LeetCode 207. Course Schedule(拓扑排序)
  14. SpringMVC底层数据传输校验的方案(修改版)
  15. AMD,CMD,UMD,CommonJS
  16. 2013-09-16 构建C1000K的服务器(1) – 基础
  17. 简述TCP三次握手和四次挥手过程
  18. es6中的函数
  19. 第 8 章 容器网络 - 061 - flannel 的连通与隔离
  20. Qt ------ QPainter 和控件组件的重绘

热门文章

  1. Glassfish 4 修改server.log 等配置
  2. Js $.merge() 函数(合并两个数组内容到第一个数组)
  3. 牛客假日团队赛2 F.跳跃
  4. poj3728The merchant树剖+线段树
  5. Hive进阶_开发Hive的自定义函数
  6. eclipse Java项目如何修改包名
  7. 树莓派连接启动SSH
  8. cachecloud:Redis云管理平台
  9. MyBatis配置文件之properties属性
  10. 关于 hystrix 的异常 fallback method wasn't found