云计算aws系列:Permission denied (publickey)
来源:互联网 发布:vba编程从入门到精通 编辑:程序博客网 时间:2024/05/22 03:13
ssh连接aws时出现问题;
192-168-1-4:Downloads stella$ ssh -i 0112.pem shuangxu@ec2-52-91-206-97.compute-1.amazonaws.com
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for'0112.pem' are too open.
It is required thatyour private key files are NOT accessible by others.
This private key willbe ignored.
Load key"0112.pem": bad permissions
Permission denied(publickey).
解决方案:
查看并更改密钥文件权限:
>>> ls-l 0112.pem
-rw-r-----@1 stella staff 1696 1 13 11:46 0112.pem
>>> chmod600 0112.pem
>>> ls-l 0112.pem
-rw-------@ 1Shuang staff 1696 1 13 11:46 0112.pem
>>> ssh -i 0112.pem ec2-user@ec2-52-91-206-97.compute-1.amazonaws.com
成功
关于ssh密钥认证,详情可见http://www.linuxidc.com/Linux/2012-12/76277.htm
一、加密简介
1、加密方式
对称密钥算法(DES,3DES,AES)
使用相同的密钥和算法来加解密。
缺点:共享密钥需双方互换,密钥太多,不支持数字签名和不可否认性。
优点:速度快,安全,紧凑,长度小于等于8字节
非对称密钥算法(RSA,DHKipsec vpn,EC)
1.每一个用户进入一个加密系统,都需要产生一对公私密密钥。
2.公钥共享给所有人,私钥需严格保密,公钥无法推出私钥。
3.公钥加密的文件需要私钥才解密(加密的过程)。
4.私钥加密的文件需要公钥才能解密(签名的过程)。
优点:安全,加解密双方不需要交换密钥,无需担心密钥被截取。
缺点:非常慢,密文会变长
在linux下的密钥认证就是典型的非对称加密算法。
2、SSH认证简介
如果主机A想要通过ssh登录到主机B,并且想要通过密钥认证的方式,首先你需要在主机A上生成一对密钥,将生成的公钥部分上传至主机B,此时当主机A发起ssh到主机B时,主机B会将一个随机数用主机A给他的公钥来加密,加密后的数据会发送给主机A,主机A 用自己保存的私钥解密后会得到这个随机数,让后将这个随机数发送给主机B,主机B发现这个随机数是正确那么就表示该认证通过。私钥必须妥善保存。
二、配置过程
1、生成密钥对(机器A配置)
[root@localhost ~]# ssh-keygen -t rsa #全部保持默认,全部回车即可。
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
5f:81:36:b6:71:77:c1:26:56:cb:0a:14:fd:64:89:89 root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
| o+ =o.|
| .E *.*o|
| *.+ Bo.|
| o =.o.o |
| S . .. |
| . . |
| . |
| |
| |
+-----------------+
注:ssh-keygen -t rsa这里直接回车即可。如果输入密码的话,在后面使用密钥连接时也会提示输入密码。
2、查看密钥对权限
[root@localhost ~]# ll -d .ssh/
drwx------. 2 root root 4096 5月 22 07:40 .ssh/ #权限为700
[root@localhost ~]# ll .ssh/
总用量 12
-rw-r--r--. 1 root root 408 5月 22 07:40 id_rsa.pub #权限为644
-rw-------. 1 root root 1675 5月 22 07:29 id_rsa #权限为600
-rw-r--r--. 1 root root 786 5月 22 07:41 known_hosts
3、修改公钥名称
[root@localhost ~]# cd .ssh/
[root@localhost .ssh]# mv id_rsa.pub authorized_keys
[root@localhost .ssh]# ls
authorized_keys id_rsa known_hosts
注:authorized_keys:与ssh配置文件中AuthorizedKeysFile .ssh/authorized_keys 相对应。
4、修改ssh配置文件
[root@localhost ~]# vim /etc/ssh/sshd_config
RSAAuthentication yes #使用密钥验证
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys #验证文件的名称
----------------------------可选配置--------------------------------------
Protocol 2 #修改后变为此状态,仅使用SSH
ServerKeyBits 1024 #修改后变为此状态,将ServerKeyBits改为1024比特
PermitRootLogin no #不允许用Root进行登录
PasswordAuthentication no #不允许密码方式的登录
PermitEmptyPasswords no #禁止空密码进行登录
[root@localhost ~]# vi /etc/hosts.deny
sshd: ALL 最后添加这一行,屏蔽来自所有的SSH连接请求
[root@localhost ~]#vi /etc/hosts.allow
sshd: 192.168.0.1 最后添加这一行,只允许来自内网的SSH连接请求
注:hosts.allow和hosts.deny同时设置时hosts.allow生效
------------------------------------------------------------------------
3、机器B配置与机器A的配置完全相同
1、生成密钥对
2、查看密钥对权限
3、修改公钥名称
4、修改ssh配置文件
- 云计算aws系列:Permission denied (publickey)
- Permission denied (publickey).
- ssh: permission denied (publickey)
- Github: Permission denied (publickey)
- github Permission denied (publickey).
- permission denied (publickey)解决方法
- Permission denied (publickey).
- Permission denied (publickey)
- Permission denied (publickey)
- Permission denied (publickey) 解决方法
- Permission denied (publickey). 解决办法
- Error: Permission denied (publickey)
- Git - Permission denied (publickey)
- Permission denied (publickey)
- Permission denied (publickey)
- msysgit Permission denied (publickey)
- Permission denied (publickey).
- Git - Permission denied (publickey)
- 5.4 heapq--堆队列算法
- 【BZOJ】【P4401】【块的计数】【题解】【???】
- Linux配置svn服务器
- iOS_Swift UIScrollView之App导航页的制作
- VS2010 上传、下载FTP服务器文件
- 云计算aws系列:Permission denied (publickey)
- android studio卡顿解决方案
- 从0到1:微信后台系统的演进之路
- 4-1 MFC学习之模式对话框和非模式对话框以及对话框的回调
- 自己在win10中添加ADO控件步骤总结
- Class.forName()用法详解
- js与php传递参数
- POJ 2485 Highways
- Centos 6.5 64bit安装RStudio server