分类 linux

算法不匹配导致ssh登录失败问题的解决

发布于
分类 linux
标签 linux

在家里macbook通过ssh登录我的服务器时发现登录失败,报错如下:

{user}@{ip}: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

奇怪的是我记得之前登录是正常的🙃

在ssh命令后加上-v后发现其中有一条信息:

$ ssh -p 22 {user}@{ip} -v
...
debug1: send_pubkey_test: no mutual signature algorithm
...

这意味着客户端和服务器之间没有共同支持的签名算法。其他机器登录正常,手动编辑~/.ssh/config文件增加如下内容确保客户端也使用 ssh-rsa 算法:

Host {}
    Port 22
    HostkeyAlgorithms +ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa

再次尝试后登录成功,问题解决✌🏻

...

阅读全文 »

centos搭建git服务器

发布于
分类 linux
标签 linux
标签 git

一、安装

sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
sudo yum install gcc perl-ExtUtils-MakeMaker
  1. 安装
sudo wget https://github.com/git/git/archive/v2.9.2.tar.gz
sudo tar -zvxf v2.9.2.tar.gz
cd git-2.9.2
sudo make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install
  1. 将git设置为默认路径,不然后面克隆时会报错
sudo ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
sudo ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack
  1. 添加git用户和用户组用来运行git服务
sudo groupadd git
sudo useradd git -g git
sudo passwd git
su - git

二、创建证书登录

cd /home/git
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
将公钥导入到authorized_keys
  1. 初始化Git仓库
cd /data
mkdir gitrepo
chown git:git gitrepo/
cd gitrepo
git init --bare starins.git
chown -R git:git starins.git

三、使用

git clone ssh://git@ip:port/data/gitrepo/starins.git

...

阅读全文 »