linux ssh 证书登录不了,linux ssh证书登录

客户端建立私钥和公钥

在客户端终端运行命令

ssh-keygen -t rsa

rsa是一种密码算法,还有一种是dsa,证书登录常用的是rsa。

假设用户是test,执行 ssh-keygen 时,才会在home目录下的 .ssh/ 目录里面产生所需要的两个 Key ,分别是私钥 (id_rsa) 与公钥 (id_rsa.pub)。

另外就是私钥的密码了,如果不是测试,不是要求无密码ssh,那么对于passphrase,不能输入空(直接回车),要妥当想一个有特殊字符的密码。

ssh服务端配置

ssh服务器配置如下:

-------------Begin---------------------

vim /etc/ssh/sshd_config

#禁用root账户登录,非必要,但为了安全性,请配置

PermitRootLogin no

# 是否让 sshd 去检查用户家目录或相关档案的权限数据,

# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。

# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入

StrictModes no

# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。

# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile      %h/.ssh/authorized_keys

#有了证书登录了,就禁用密码登录吧,安全要紧

PasswordAuthentication no

------------------End------------------------------------

配置好ssh服务器的配置了,那么我们就要把客户端的公钥上传到服务器端,然后把客户端的公钥添加到authorized_keys

在客户端执行命令

scp ~/.ssh/id_rsa.pub blue@:~

在服务端执行命令

cat  id_rsa.pub >> ~/.ssh/authorized_keys

如果有修改配置/etc/ssh/sshd_config,需要重启ssh服务器

/etc/init.d/ssh restart

客户端通过私钥登录ssh服务器

ssh命令

ssh -i /blue/.ssh/id_rsa blue@

scp命令

scp -i /blue/.ssh/id_rsa filename blue@:/blue

每次敲命令,都要指定私钥,是一个很繁琐的事情,所以我们可以把私钥的路径加入ssh客户端的默认配置里

修改/etc/ssh/ssh_config

-----------Begin------------------------------------

#其实默认id_rsa就已经加入私钥的路径了,这里只是示例而已

IdentityFile ~/.ssh/id_rsa

#如果有其他的私钥,还要再加入其他私钥的路径

IdentityFile ~/.ssh/blue_rsa

-----------End--------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值