设置ssh登录Linux服务器和git上ssh的使用

设置ssh登录Linux服务器

  • 前言
  • 环境
  • 配置
    • 客户端
    • 服务器端
  • 可能碰到的问题
    • 使用密钥命令登录依然提示输入密码??
  • git如何使用ssh-key


前言

我们在远程Linux服务器或者使用git的时候都需要输入密码登录后进行操作,在进行频繁操作的时候每次都要输入密码多少有点儿不方便,那么我们可以使用ssh的方便进行身份验证登录,省去输入密码这个步骤,因为不用频繁输入密码同时还避免了密码泄露的风险,一举两得。


环境

系统\软件 版本
Windows 10
Windows terminal 1.9
云服务器CentOS 7

配置

客户端

  1. 在Windows打开terminal,输入命令:ssh-keygen -t rsa -b 4096
  2. 根据提示Enter file in which to save the key,输入key文件名字
  3. 根据提示Enter passphrase (empty for no passphrase),输入密钥文件的密码,直接回车就是不设置密码
  4. 在C:\Users\xxx(user).ssh 目录,或者上一层目录下会生成一对密钥/公钥共2个文件。
  5. 将公钥(*.pub后缀文件)上传到远程Linux服务器,可以选择使用FTP工具,或者scp命令
  6. 打开terminal-设置-配置指定服务器段-命令行输入:ssh [email protected] -p 22 -i C:\Users\hhh\.ssh\你刚才生成的私钥,保存

服务器端

  1. 打开ssh配置文件:vim /etc/ssh/sshd_config
  2. 配置项设置:PubkeyAuthentication yes
  3. ssh-key公钥文件存放目录配置项:AuthorizedKeysFile .ssh/authorized_keys,默认就是在~/.ssh/authorized_keys这个文件。
  4. 打开~/.ssh/authorized_keys,将上面得到的公钥文件内容粘贴到这里,保存。

可能碰到的问题

使用密钥命令登录依然提示输入密码??

可能是因为.ssh/authorized_keys文件的权限问题。
同时也要注意.ssh/authorized_keys文件是放置在Linux哪个用户的目录下。

如果在sshd服务日志看到:Authentication refused: bad ownership or modes for file /root/.ssh/authorized_keys,那就是权限问题。解决方法:使用命令:chmod 644 .ssh/authorized_keys调整文件权限。


git如何使用ssh-key

以上就是今天要讲的内容,本文仅仅简单介绍了ssh-key的使用,而ssh也能用到git账户验证上,操作方法上不同就是远程服务器是手动把公钥放到指定目录,git配置是到git控制台页面将公钥与账号绑定,然后就能一样的使用了。

你可能感兴趣的:(服务器,ssh,linux,git,ssh-key)