2020-11-17 新买了百度云服务器,如何用ssh远程登陆

2020-11-17 新买了百度云服务器,如何用ssh远程登陆,第1张

购买百度云服务器后,百度云会给你发送短信告知登陆用户名,但一般不会通过手机短信将密码发给你,所以首先要进入工作台后,鼠标放在vnc远程后,选择实例设置——>重置密码。

之后一般会需要几分钟重启服务器,显示重置密码中。

按照百度云官方操作步骤是这样的

但是呢,按照以上的操作之后,始终连不上,总是提示“用户秘钥未在远程主机注册”。

根据错误提示,判断问题应该是公钥没在服务器上注册。有两种方法可以尝试:

1、通过管理后台的秘钥对管理——创建秘钥对——使用已有的公钥——将上一步创建的公钥内容粘贴进去,然后在绑定服务器实例即可。

但是通过以上操作之后,仍然连不上。

2、尝试第二种方法,直接将ssh公钥都追加到authorized_keys文件。

先通过用户名和密码登陆服务器,

然后编辑ssh/authorized_keys 文件。

进入后,将前面创建的公钥粘贴进去。

再连接,成功!

小鸟云服务器niaoyun实例创建好之后,您可以使用以下任意一种方式登录服务器:

远程桌面连接(MicrosoftTerminalServicesClient,MSTSC):采用这种方式登录,请确保实例能访问公网。如果在创建实例时没有购买带宽,则不能使用远程桌面连接。

管理终端VNC:无论您在创建实例时是否购买了带宽,只要您本地有网页浏览器,都可以通过管理控制台的管理终端登录实例。

使用远程桌面连接(MSTSC)登录实例

打开开始菜单>远程桌面连接,或在开始菜单>搜索中输入mstsc。也可以使用快捷键Win+R来启动运行窗口,输入mstsc后回车启动远程桌面连接。

在远程桌面连接对话框中,输入实例的公网IP地址。单击显示选项。

输入用户名,如小鸟云默认为niaoyun。单击允许我保存凭据,然后单击连接。这样以后登录就不需要手动输入密码了。

默认配置

Windows下有很多SSH工具。在这里我是用的是Putty。如果安装了Git并配置使用Putty的话,就不需要另外在安装Putty了。使用SSH连接服务器的命令如下:

ssh IP地址

一般来说为了安全性考虑,端口号等一些参数并不会使用默认值。这样的话命令就变成这样:

ssh 用户名@IP地址 -p 端口号

如果连接成功的话会提示你输入远程服务器的密码。全部成功之后SSH就会显示远程服务器的提示符,这时候就说明连接成功了。

密钥登录

每次登录SH都需要输入密码很麻烦,而且可能不太安全。SSH还能使用另外一种登录方式,也就是使用密钥登录。这种登录方式需要客户端生成一堆公钥私钥对,然后将公钥添加到服务器中,这样下次就可以直接登录了。

首先生成SSH密钥,依照提示输入信息即可。默认生成在用户主目录中的ssh文件夹中。带pub的是公钥,接下来需要添加到服务器中。

ssh-keygen

然后将本地公钥添加到服务器中,需要使用另一个命令:

scp -P 端口号 本地文件路径 用户名@远程服务器地址:远程路径

然后登陆服务器,找到复制进去的公钥,将公钥名字改为authorized_keys并添加到对应的ssh文件夹中。然后退出SSH重新登陆试试,成功的话不需要输入密码就会直接进入远程服务器。

阿里云主机ssh 免密码登录

操作系统: CentOS 70 64位

CPU: 1 核

公网IP: 781292345

用户名: root

密码:bugaosuni

我在VMware下安装的Ubuntu 1404本文的主要目的就是在Ubuntu上能够免密码登录云主机。

具体设置步骤

Ubuntu 客户端

在该文件夹下就会产生三个文件夹:id_rsa,id_rsapub,know_hosts。

id_rsa:存储私钥,记得只能自己看哦。别人那到这个文件就完蛋蛋咯。

id_rsapub:存储公钥,用来通信加密使用,有了这个人家才能确定这是你。

scp id_ rsapub root@781292345:/root/ssh/id_ rsapub

Note:云主机上没有ssh/文件时,你要自己建立一个。

云主机端

rm id_rsapub

Ubuntu 客户端

这个时候就可以登录云主机了

ssh root@781292345

scp远程拷贝文件时提示错误:

Warning: Permanently added '1000182' (RSA) to the list of known hosts

Permission denied (publickey)

解决:

登录1000182,将/etc/ssh/sshd_config文件中的PasswordAuthentication no 改为PasswordAuthentication yes

重启sshd服务:/etc/initd/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 sshdservice

systemctl status sshdservice #查看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_hostsold

重新连线,出现以下提示:

The authenticity of host '192168310 (192168310)' 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)

目前,远程连接服务器的类型有以下几种: 

① 文字接口的明文传输:Telnet、RSH为主,很少用到。 

② 文字接口的加密传输:以SSH为主,已经取代了上面的明文传输方式。 

③ 图形接口:XDMCP、VNC、XRDP等较为常见。 

这篇文章只为实战,不为普及概念性知识。所以我只讲解在工作中最常用到的技术SSH。关于SFTP技术和VNC技术,请查阅我的其他博客。 

好,先来看一下SSH的相关技术: 

SSH,英文全程是Secure Shell Protocol(安全的壳程序协议)。SSH是现在公司基本上都在使用的一种文字接口的加密传输技术,采用的是非对称秘钥系统。

对于SSH的原理,你们可以参考我的另外一篇博客,我把链接贴在这里: 

SSH原理

⑴来吧,我们先来查看一下sshd这个服务(这就是SSH的远程连接必须开启的服务,属于系统自带),注意,一般这个sshd服务是默认自动开启的。

如果想要重启怎么办呢? 

好吧,请看:

上面两种重启动的方法都是可以滴!

⑵直接远程登录主机的命令: 

ssh -f -o 参数 -p 非标准端口 账号@IP 命令 

其中: 

-f : 需要配合后面的命令,不登录远程主机直接发送一个命令过去 

-o 参数 : 主要的参数有: 

ConnectTimeout=秒数 : 连接等待的秒数,减少等待的时间。 

StrictHostKeyChecking=yes|no|ask:默认是ask,若要让public key主动加入到known_hosts, 则可以设置为no即可。 

-p : 如果sshd服务启动在非标准端口下,需使用此参数。

举例说明吧: 

① 直接登录到对方主机: 

如果是以root用户登录到对方主机,有如下两种登录方式:

注意:如果是普通用户登录,必须使用第二种加@的方式。

② 实现登录对方主机,执行命令后就离开的方式。例如:从远程主机上执行cat /etc/passwd命令把文件显示在本地主机上。

③ 不登录对方主机,让对方主机自己运行该命令,你立刻回到本地机器继续工作:

④ 删除known_hosts后,重新使用root连接到本机,会自动加上公钥记录

你一定会说,大骗子玩漏了吧?怎么没有自动加上公钥记录呢?怎么记录信息提示手机选择yes/no了呢?别着急,我们的“-o”参数要横空出世了!有了-o,再也不用选择yes|no了,而是自动被选择了yes而加入到~/ssh/known_hosts中。

看到了,这次没有提示让选择yes|no吧! 

⑤ SSHD服务器详细配置

Centos默认的SSHD服务其实已经算是很安全了,这里注意Centos 5X之后默认SSH协议版本都是V2也就是上图的Protocol 2,默认端口是 22,注意这些还不够,如果是真正工作中的服务器,建议取消root的登录权限:

把红框中的yes改为no就可以取消root用户的登录权限了。

下面来介绍一个很有用的技术,制作不用密码可立即登录的SSH用户。有人会说制作这个是用来干嘛的?你想一想,如果想要利用crontab来定时执行备份或者拷贝的任务,因为每次SSH连接都要输入对方主机密码,这是在crontab中无法执行的,那么怎么办?只有不需要输入密码才可以操作。 

方法如下: 

① 客户端建立两把钥匙 

我们在客户端创建一个用户user1操作,利用user1来远程服务器端的user2用户。下面我们以1921681118为客户端,以1921681121为服务端。 

首先在客户端建立两把秘钥 

命令如下:

需要注意: 

⑴ ~/ssh目录的权限必须是700 

⑵ id_rsa(私钥文件)的权限必须是-rw——-,且属主必须是当前登录用户,否则在未来秘钥比对的过程中,可能会被判断为危险而无法成功的以公私钥成对的机制来实现连接。 

以上两点一般情况下默认都是正确的。

② 将公钥文件数据上传至服务器端

③ 将公钥文件放置到服务器端的正确目录中,并保证文件名正确 

一定要把公钥文件内容附加到authorized_keys这个文件内,操作用户为服务器端用户

注意:切记authorized_keys这个文件的权限必须是644

xshell软件

linux系统

使用xshell远程连接我旁边的Ubuntu时,root用户登陆,密码正确,但是显示

“ssh服务器拒绝了密码。请再试一次”

原因:ssh服务基于安全考虑,没有给root用户远程连接的权限

解决办法:

登陆要连接的Ubuntu

vim /etc/ssh/sshd_config

找到PermitRootLogin 这一行,将后面的no 改为yes ,如图所示

此时再次利用xshell登陆root账户即可。

如果还是连不上,就要考滤iptables是否开启22号端口

云服务器还要考虑安全组是否开放22号端口。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 2020-11-17 新买了百度云服务器,如何用ssh远程登陆

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情