步骤一:打开终端,输入:

ssh-keygen -t rsa -C "youremail@qq.com"

一路欢快的回车,所有默认都不用改,就可以生成密钥了。

引号内是你唯一Email,这里可以作为以后Git远程仓库使用。

步骤二:查看生成的公钥和私钥:

ls ~/.ssh

可以看到两个密钥文件:id_rsa(私钥) id_rsa.pub(公钥)  ———— 我的本机的~是/Users/linfeng,可以通过pwd查看当前所在的路径

步骤三:登录远程服务器,在~目录下创建.ssh文件夹,要先切换到/root/目录下哦。(此时root账号的家目录就是/root/)

mkdir .ssh

————再补充一个知识点,~表示当前用户的家目录,对于root来说,就是/root/,对于普通用户来说,就是/home/user/,可以切换到~并使用pwd查看。所以如果是普通用户,则需要把.ssh建在/home/user/下。

步骤四:放置公钥到Linux服务器的用户家目录的.ssh目录下,并重命名为authorized_keys。使用scp命令:

scp ~/.ssh/id_rsa.pub root@121.42.xxx.xxx:/root/.ssh/authorized_keys

步骤五:服务器上切换到.ssh目录下,对authorized_keys和.ssh赋予权限:

chmod 700 .ssh
chmod 600 authorized_keys

————请注意,此时.ssh目录的权限应该是700,只有属主有读、写、执行的权限。

步骤六:免密码登录到服务器:——无需输入密码了。

ssh root@121.42.xxx.xxx    //方式一
ssh -l root 121.42.xxx.xxx      //方式二

——请注意,这时候只是可以免密码登录,但是没有密钥的人(如其他人的电脑),还是能通过密码登录。

——这步请直接测试是否可以免密登录,如果可以的话,第七步第2)就可以不用操作。

步骤七:设置禁止密码登录

1)打开ssh配置文件:

vi /etc/ssh/sshd_config

2)去掉以下的注释:——其实不注释,我的机器上默认值也是yes,因为在第六步的时候,我已经可以免密码登录了。所以为可选项

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys

3)禁止密码登录,修改以下为no:

PasswordAuthentication no    //原先为PasswordAuthentication yes

4)重启ssh服务

service ssh restart   //或者service ssh reload,有可能碰到并未开启ssh服务的报错,执行下面的那句。
/etc/init.d/sshd restart    //上面一句无法执行的时候,执行这句。
systemctl restart sshd    //centOS7以上请使用这句

————做完了以上这些任务,就可以直接使用密钥登录了。如果你的密钥错误,那么就会直接被拒绝

总结步骤:生成密钥,公钥放到服务器对应用户的[家目录/.ssh/]目录下,重命名为authorized_keys,赋予600权限。然后本地就可以直接访问了

MAC下生成密钥,并使用ssh密钥登录相关推荐

  1. Git 下拉项目权限配置SSH 密钥

    D:\1.0.4> git clone ssh://git@gitlab.beijing.com:9000/hangzhou/global/foreign-py.git 报以下错误 Clonin ...

  2. 初次使用git配置以及git如何使用ssh密钥(将ssh密钥添加到github)

    初次安装git需要配置用户名和邮箱,否则git会提示:please tell me who you are. 你需要运行命令来配置你的用户名和邮箱: $ git config --global use ...

  3. MAC下 生成安卓签名证书.keystore文件【详细】

    在安卓打包.APK文件的过程中,是需要选择一个. keystore 即安卓数字签名证书.那今天我们就来看看这个,证书是怎么从无到有,一步步的生成的. windows平台生成证书的方法,点击去看看 检查 ...

  4. Mac 下生成keystore以及获得数字签名

    ZlindeMac-mini:iwatchtecher zlinsun$ cd /Library/Java/Home/bin/ ZlindeMac-mini:bin zlinsun$ keytool ...

  5. mac下keytool 错误: java.lang.Exception: 密钥库文件不存在

    最近项目需要上线, 其中一个项目 用旧项目改成新的, 在生打包的时候, 我忽略了一个问题, 导致项目还是之前的应用,找了一下发现没有改module里的applicationId没有改, 一定一定要改 ...

  6. mac下如何使用ssh-copy-id完成ssh的公钥认证登录

    ssh-copy-id 是Linux 一个标准的命令行程序,用来时,实现公钥认证的ssh登陆. 在Linux下使用ssh-copy-id 可以轻松地实现本机到远程主机的公钥认证的ssh登录: ssh- ...

  7. mac下生成.icns图标

    1 .icns是啥? 1.1 找到一个.icns 打开访达 >> 应用程序 随便选取一个.app(例如App Store.app),右键菜单点击显示包内容 找到Contents/Resou ...

  8. mac下生成文件目录树

    基本使用 在终端中输入以下内容: 安装tree: brew install tree 进入文件夹:cd 文件夹名称 生成目录树: tree tree的其他常用方法 显示所有的文件结构:tree -a ...

  9. Win10下Docker创建Centos容器SSH远程登录的镜像

    1. 创建D:/docker/centos_ssh/Dockerfile mkdir D:/docker/build/centos_ssh cd .>D:/docker/build/centos ...

最新文章

  1. 四川大学计算机学院男女生比例,川大、电子科大新生男女比例大PK 比例更佳的是……...
  2. Java 代码多线程问题
  3. android cts 编译,使用 Android studio 分析运行 CTS 用例
  4. arm linux qt 输入法,基于ARM9和Qt的中文手写输入法的设计与实现
  5. 高效率去掉js数组中重复项
  6. 软件开发作为一种价值领域的研究
  7. jedis 连接池使用流程图
  8. 在VIM中使用GDB调试 – 使用pyclewn
  9. 路由交换技术vlan、trunk、单臂路由、三层交换、链路聚合、STP
  10. 【单片机学习笔记】(25):PID初识、门电路符号、H桥驱动电路、中断服务函数使用注意事项、SIM800C打电话发短信、OLED
  11. 一些常见html5语义化标签
  12. Flutter 自定义下拉菜单
  13. 编写README文档(Markdown)
  14. 大数据与云计算 | 华科软院2020年期末考试试题及答案
  15. 抢票软件不靠谱?不如看看用AI怎么玩转12306
  16. 一墙之隔-看向世界和直面速度与激情
  17. 又一个IGame的bug
  18. canvas教程7-炫彩小球
  19. 微端游戏启动器launcher的制作(序篇)
  20. ae,me,pr功能区别

热门文章

  1. java:获取后缀为doc、docx、xls、xlsx、ppt、pptx、pdf、xml的文件中的文本
  2. AOT(超前编译)实例分析
  3. 修改北斗AR地球仪激活验证
  4. Involution
  5. 多线程(一) 线程概念及创建线程的方法
  6. html5自动播放mov格式视频
  7. mysql mycat水平分库_MyCat水平分库
  8. not exists 中from 后面不同写法带来的效率区别
  9. JavaScript-学习笔记一
  10. 2014.10.10 ——Jim Foley第二场讲座User Interface Design——An Overview