linux设置服务器的普通用户授权客户机使用ssh私密钥登录

一、服务器A操作步骤

1. 使用普通用户登录服务器A:

依次执行以下命令:

cd ~
--查看是否以前设置过密钥,没有.ssh文件的没有设置过密钥,有可以删除重设
ll -a  
--生成密钥,按提示操作,一直按Enter键即可
ssh-keygen
--成功后
chmod -R 700 .ssh/ ;注意权限!
cd ~/.ssh
cat id_rsa.pub >> authorized_keys 
chmod 600 .ssh/authorized_keys ;注意权限!这个很重要

2. 关闭普通用户登录服务器A的session,重新使用root登录服务器A:

ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。两个配置文件都允许你通过设置不同的选项来改变客户端程序的运行方式。在这里ssh_config不需要修改...只需要修改sshd_config。

执行以下命令:

用root用户改下文件
vi /etc/ssh/sshd_config

添加以下或把相对应的#去掉
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)

重启sshd服务

service sshd restart

3.测试

在本机上使用以下命令:

ssh localhost

如果出现如下:

The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is 00:95:f0:a9:28:2b:f2:2d:f8:a9:4c:34:ca:b6:17:f0.
Are you sure you want to continue connecting (yes/no)?

 则输入yes,即可,输入后按Enter见后出显示登陆成功信息。

如果ssh localhost出现错误,则再次尝试执行以下命令是否能解决:

chmod 644 authorized_keys

在测试通过后再去操作下面的步骤,只有这里测试通过才是配置正确的。 

二、客户机B操作步骤

1. 用root登陆客户机B,执行以下命令

mkdir ~/.ssh && chmod 700 ~/.ssh && echo 'StrictHostKeyChecking no' > ~/.ssh/config && echo 'UserKnownHostsFile /dev/null' >> ~/.ssh/config

然后再把服务器A上的生成的id_rsa文件拷贝到客户机B ~/.ssh目录下。

2. 在客户机B上执行以下命令:

ssh A.user@A.ip "pwd"

A.user就是服务器A的普通用户名,A.ip就是服务器A的ip,如果正常的话,就会打印出pwd命令的结果。

3. 遇到的问题

执行ssh A.user@A.ip "pwd" 时可能会遇到以下问题:

Warning: Permanently added '10.1.77.153' (ECDSA) to the list of known hosts.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/root/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/root/.ssh/id_rsa": bad permissions

这个就是客户机B中id_rsa的权限太大,修改为0600即可:

chmod 0600 id_rsa

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值