十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
阿里云主机ssh 免密码登录
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了海城免费建站欢迎大家使用!
操作系统: CentOS 7.0 64位
CPU: 1 核
公网IP: 78.129.23.45
用户名: root
密码:bugaosuni
我在VMware下安装的Ubuntu 14.04.本文的主要目的就是在Ubuntu上能够免密码登录云主机。
具体设置步骤
Ubuntu 客户端
在该文件夹下就会产生三个文件夹:id_rsa,id_rsa.pub,know_hosts。
id_rsa:存储私钥,记得只能自己看哦。别人那到这个文件就完蛋蛋咯。
id_rsa.pub:存储公钥,用来通信加密使用,有了这个人家才能确定这是你。
scp id_ rsa.pub root@78.129.23.45:/root/.ssh/id_ rsa.pub
Note:云主机上没有.ssh/文件时,你要自己建立一个。
云主机端
rm id_rsa.pub
Ubuntu 客户端
这个时候就可以登录云主机了
ssh root@78.129.23.45
scp远程拷贝文件时提示错误:
Warning: Permanently added '10.0.0.182' (RSA) to the list of known hosts.
Permission denied (publickey).
解决:
登录10.0.0.182,将/etc/ssh/sshd_config文件中的PasswordAuthentication no 改为PasswordAuthentication yes
重启sshd服务:/etc/init.d/sshd restart
问题解决。
原因:scp是基于ssh的拷贝服务,ssh在没有密钥登录的情况下,禁用了密码登录,故出现如上错误。
服务端SSH 服务配置了禁止root用户登录策略。
处理办法
说明:相关策略可以提高服务器的安全性。请用户基于安全性和易用性权衡后,再确定是否需要修改相关配置。
要解决此问题,请进行如下配置检查和修改:
参数说明:
未配置该参数,或者将参数值配置为 yes (默认情况),都允许 root 用户登录。只有显示的设置为 no 时,才会阻断root 用户登录。
该参数只会影响用户的 SSH 登录,不影响用户通过 管理终端 等其它方式登录系统。
如果需要修改相关策略配置,在继续之前建议进行文件备份。
使用 vi 等编辑器,将参数值设置为 yes,或者整个删除或注释(在最开头添加 # 号)整行配置。比如:# PermitRootLogin yes
使用如下指令重启 SSH 服务:service sshd restart
尝试再次使用 root 用户登录服务器。
出现的问题以及解决方案
当出现Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 警告的时候,恭喜你,你已经离成功很近了。
远程主机这里设为slave2,用户为Hadoop。
本地主机设为slave1
以下都是在远程主机slave2上的配置,使得slave1可以免密码连接到slave2上。如果想免密码互联,原理一样的,在slave1上也这么配置即可!
(1)首先:配置ssh服务器配置文件。
在root 用户下才能配置。
vi /etc/ssh/sshd_config
权限设为no:
如果前面有# 号,将#号去掉,之后将yes修改为no。
修改之后为:
PermitRootLogin no
UsePAM no
PasswordAuthentication no
权限设为yes:
RSAAuthentication yes
PubkeyAuthentication yes
(2)重启sshd服务
systemctl restart sshd.service
systemctl status sshd.service #查看ssh服务的状态
正常情况下应该是Active:active(running)
(3)修改文件夹以及文件的权限。
(4)在slave1上进行测试
ssh slave2
今天处理 ssh连接至 ubuntu 服务器时,提示以下错误:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
da:f7:3e:ba:f7:00:e6:44:76:f2:58:6e:48:******.
Please contact your system administrator.
Add correct host key in /用户home目录/.ssh/known_hosts to get rid of this message.
Offending RSA key in /用户home目录/.ssh/known_hosts:1
RSA host key for ip地址 has changed and you have requested strict checking.
Host key verification failed.
经过google,出现这个问题的原因是,第一次使用SSH连接时,会生成一个认证,储存在客户端的known_hosts中。
可使用以下指令查看:
ssh-keygen -l -f ~/.ssh/known_hosts
由于服务器重新安装系统了,所以会出现以上错误。
解决办法
ssh-keygen -R 服务器端的ip地址
会出现以下提示:
/用户home目录/.ssh/known_hosts updated.
Original contents retained as /用户home目录/.ssh/known_hosts.old
重新连线,出现以下提示:
The authenticity of host '192.168.3.10 (192.168.3.10)' can't be established.
RSA key fingerprint is da:f7:3e:ba:f7:00:e6:44:76:f2:58:6e:48:****.
Are you sure you want to continue connecting (yes/no)?
1、首先登陆阿里云网站,进入控制台,点击云服务zhi器ECS,进入服务器控制台,点击要选择的服务器。
2、进入服务器实例列表,找到想要增加端口的实例,点击后面的更多,再点击网络和安全组,在选择安全组配置按钮。
3、点击更多后列表中找到安全组配置,并点击规则。
4、跳转到的页面里,如果想添加新的端口就点击手动添加。
5、在弹出窗口中输入内容,比如添加22端口,就在端口范围里输入以22/22, 在授权对象里输入“0.0.0.0/0”意思是允许所有访问 。
6、点击确定后看看安全组规则中是否多了一个22的端口,就设置成功了。
步骤1 vim /etc/ssh/sshd_config;
修改端口号
步骤2 执行/etc/init.d/sshd restart
这样SSH端口将同时工作与22和1022上
步骤3 现在编辑防火墙配置:
添加 -A INPUT -m state --state NEW -m tcp -p tcp --dport 1022 -j ACCEPT
重启防火墙服务:
步骤4 现在请使用ssh工具连接1022端口,来测试是否成功。
开一台阿里云服务器
1. 进入实例详情页面,在 "网络信息" 模块,点击右方 更多 按钮,下拉框选择 "管理IPv6"
2. 步骤1完成后,弹出一个弹框,标题为 "管理辅助私网IP ",在下面 ipv6地址,点击 "分配新ip"
3. 分配ipv6地址成功后,需要给该地址开通公网带宽,进入ipv6网关详情页面,找到对应的ipv6地址,右方操作栏点击 "开通公网带宽"
4. 服务器拥有ipv6公网ip,终端执行 ping6 ipv6地址 测试是否能正常访问,如果失败了,可能是服务器实例的安全组规则中没有放行 ipv6 地址访问,添加一条新规则,入方向允许 ::1 来源的访问
ssh通过ipv6地址远程登录服务器,格式和ipv4一样,例如:ssh root@2408:4006:1101::1900
注意,ssh通过ipv6登录服务器,需要该服务器sshd已经配置可以通过ipv6登录,若未配置,需要先登录到该服务器,修改sshd配置文件
① vim /etc/ssh/sshd_config
②输入/AddressFamily,将值修改为 any 后保存文件 (适用于ipv4和ipv6,若为inet则适用于ipv4,inet6适用于ipv6)
③重启ssh,/etc/init.d/ssh restart,重启后ssh就可以通过ipv6远程登录该服务器了
参考阿里云帮助文档:
下面提供去除该提示的方法。
1.
使用ssh连接远程主机时加上逗-o
StrictHostKeyChecking=no地的选项,如下:
ssh
-o
StrictHostKeyChecking=no
192.168.xxx.xxx
2.
一个彻底去掉这个提示的方法是,修改/etc/ssh/ssh_config文件(或$HOME/.ssh/config)中的配置,添加如下两行配置:
StrictHostKeyChecking
no
UserKnownHostsFile
/dev/null
修改好配置后,重新启动sshd服务即可,命令为:/etc/init.d/sshd
restart
(或
service
sshd
restart
)
当然,这是内网中非常信任的服务器之间的ssh连接,所以不考虑安全问题,就直接去掉了主机密钥(host
key)的检查。
ssh中遇到的逗Host
key
verification
failed.地问题,也是和逗StrictHostKeyChecking地配置有关。