如何使用SSH登录远程服务器

如何使用SSH登录远程服务器,第1张

默认配置

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

ssh IP地址1

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

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

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

密钥登录

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

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

ssh-keygen1

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

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

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

SSH是目前较可靠的安全协议,专为远程登录会话和其他网络服务提供安全服务。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。

SSH为Secure Shell的缩写,由IETF的网络小组(Network Working Group)所制定;SSH为建立在应用层基础上的安全协议。

SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他相关平台,都可运行SSH。

验证方式:

从客户端来看,SSH提供两种级别的安全验证。

第一种级别(基于口令的安全验证):

只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

第二种级别(基于密匙的安全验证):

需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。

服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。

如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

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

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

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

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

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

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

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

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

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

然后编辑ssh/authorized_keys 文件。

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

再连接,成功!

Windows下连接Linux的ssh工具有哪些

作为一个Windows操作系统用户,如果想要连接Linux服务器来进行文件之间的传送,那么需要一个Secure Shell软件(简称SSH的)。实际上,SSH是一个网络协议,允许通过网络连接到Linux和Unix服务器。SSH使用公钥加密来认证远程的计算机。通常有多种途径使用SSH,自动连接或是使用密码认证登录。

为大家搜集整理了几种可以连接Linux服务器的工具:

putty

Putty是最有名的SSH和telnet客户端,由Simon Tatham为Windows平台开发。Putty是一款开源软件,提供可用的源代码并有一批志愿者进行开发和支持。

Putty易于安装和使用,通常大部分的配置选项不需要修改。用户只需要输入少量基本的参数,就可以开始很简单地建立连接会话。

2Bitvise SSH Client

Bitvise SSH是一款支持SSH和SFTP的Windows客户端。由Bitvise开发和提供专业支持。这款软件工具性能突出,易于安装、便于使用。Bitvise SSH客户端拥有功能丰富的图形界面,通过自动重连功能的内置代理进行动态端口转发。

据了解,Bitvise SSH客户端对个人用户使用是免费的,同时对于在内部的个人商业使用同样免费。

3MobaXterm

MobaXterm是远程计算的终极工具箱。在 单独一个Windows应用里,MobaXterm为程序员、网站管理员、IT管理员及其它用户提供了远程操作一揽子功能。

另外,MobaXterm提供了所有重要的远程网络工具(如SSH、X11、RDP、VNC、FTP、MOSH等),以及Windows 桌面上的Unix命令(bash、ls、cat、sed、grep、awk、rsync等),这些均是由一个开箱即用的单一的便携可执行文件提供,并对个人使用免费。

4DameWare SSH

DameWare SSH是最好的免费SSH客户端。该免费工具是一个终端模拟器,可以从一个易用的控制台建立多个telnet和SSH连接。

将常用的会话保存在 Windows 文件系统中

使用多套保存的证书来轻松登录不同的设备

使用telnet、SSH1和SSH2协议连接计算机和设备

5SmarTTY

SmarTTY是一款免费的多标签SSH客户端,支持使用SCP命令随时复制文件和目录。

SSH服务器每个连接支持最多10个子会话SmarTTY在做得最好:没有多个窗口,不需要重新登录,仅打开一个新的标签页就可以。

6Cygwin

Cygwin 是一款GNU和开源工具的集合,提供类似一个Windows平台下Linux的功能。

Cygwin包括一个称为模拟库的Unix系统:cygwindll,集成大量GNU和其它免费软件。在安装包中,有高质量的编译器和其他软件开发工具、一个X11服务器、一套完整的X11开发套件、GNU emacs编辑器、Tex和LaTeX、openSSH(客户端和服务器),此外还包括在Windows下需要编译和使用PhysioToolkit软件的所有。

通过以上工具介绍,哪一款SSH工具值得用户尝试,可以根据需求和喜好来选择。如果有另外的SSH工具列举,可以进一步留言补充。

为了vps的安全,我开启了vps的ssh 秘钥登陆设置,通过goole搜索资料,操作成功。以下为操作记录。这里假设以root身份,vps的ip为19216801

第一步:产生秘钥即keys

基本上vps都是ssh密码登陆,首先是产生秘钥,分为公钥和私钥(public key和private key),公钥是放到vps上的,私钥放到自己这里,用于自己远程登录用的,产生秘钥方法有多种

第一种最简单,即通过vps自身产生秘钥

代码如下:

#ssh-keygen -t rsa //这里同是产生公钥和私钥

以下为输入命令后产生的输出:

代码如下:

Generating public/private rsa key pair

Enter file in which to save the key (/root/ssh/id_rsa): //这里表示秘钥存放地点,直接回车

Created directory '/root/ssh' //默认创建/root/ssh以保存秘钥

Enter passphrase (empty for no passphrase): //输入密钥密码,可以直接回车

Enter same passphrase again: //重复密钥密码,可以直接回车

Your identification has been saved in /root/ssh/id_rsa //提示公钥和私钥已经存放在/root /ssh/目录下

Your public key has been saved in /root/ssh/id_rsapub

#cd /root/ssh/

# ls

id_rsapub id_rsa //可以看到两个秘钥,将这两个保存好,将私钥拷贝到本地

#mv id_rsapub authorized_keys //将公钥改名为authorized_keys

#chmod 600 /root/ssh/authorized_keys //修改秘钥的权限,600表示属主有rw权限

当然如果本地自己是用linux则生成的秘钥,要将公钥拷贝到vps上,并修改名字和权限

#scp id_rsapub root@192168101:/root/ssh

#mv id_rsapub authorized_keys //这里是改名字,是在/root/ssh目录下操作

第二种方法

用xshell产生秘钥。这里强烈推荐xshell+xftp,十分好用,可以同是管理多个vps,支持多个shell窗口

第二步:用秘钥登陆

因为我们弄好后要测试ssh秘钥登陆,看是否设置成功,如果没成功还能密码登陆,所以修改后一定要测试下,对于vps提供商提供了console的,倒是 可以随意整,毕竟还有console可以用,倘若没有,建议先测试,我就是忘了添加另外一个管理员账户,而自己又禁止了root远程登登陆,导致所有客户 端都登陆不上,还好我有console,修改sshd_config配置,允许root远程登录,才搞定了,以下相当于登陆测试。

首先可以用winscp将公钥拷贝到远程的linux服务器上即vps,记得名字要改成authorized_keys

自己用私钥和vps上的公钥配对,配对成功就登陆了。

必须修改/etc/ssh/sshd_config 文件,将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes ,保存

代码如下:

#/etc/initd/sshd restart //再重启sshd服务,我的是centos

用秘钥登陆也有很多种,看你喜欢用什么客户端了,

第一种,是用putty登陆,用putty登陆有点要注意的是要转换秘钥,大家可以参考军哥教程。特别要注意问题就是,putty官网的puttygen转换后的秘钥有问题,登陆时候会出现“Server refused our key”错误。

解决的办法是用winscp官网下载的winscp安装程序自带的puttygen来转换秘钥,就可以正常登陆了。

我的转载的putty,winscp教程,适合新手

第二种,用xshell登陆。我是用xshell,大家可以参考军哥教程

第三种,用linux登陆vps

代码如下:

#chmod 600 id_rsa //将本地的私钥改成rw权限

#ssh root@19216801 /root/id_rsa //id_rsa为私钥,根据自己的私钥路径写

三种登陆过程可能都会提示你填写秘钥密码,填上就可 以登录成功了。

测试ssh秘钥登陆成功后,就可以设置一些更安全的配置,如

代码如下:

PasswordAuthentication no //表示禁止密码口令登陆

permitrootlogin no //表示禁止root远程登录

使用SSH的优点:

1)利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题,也能够防止DNS欺骗和IP欺骗。

2)使用SSH传输的数据是经过压缩的,所以可以加快传输的速度 。

但并不是说SSH就是绝对安全的,因为它本身提供两种级别的验证方法:

第一种级别(基于口令的安全验证):只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人攻击”这种方式的攻击。

第二种级别(基于密钥的安全验证):你必须为自己创建一对密钥,并把公钥放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公钥,然后把它和你发送过来的公钥进行比较。如果两个密钥一致,服务器就用公钥加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私钥在本地解密再把它发送给服务器完成登录。与第一种级别相比,第二种级别不仅加密所有传输的数据,也不需要在网络上传送口令,因此安全性更高,可以有效防止中间人攻击。

1在客户端(本地)生成密钥对

密钥锁码在使用私钥时必须输入,这样就可以保护私钥不被盗用。当然,也可以留空,实现无密码登录,这里密钥锁码设置为空。完成上述步骤后,在 root 用户的家目录中生成了一个 ssh 的隐藏目录,内含两个密钥文件,其中id_rsa 为私钥,id_rsapub 为公钥。

首先进入/etc目录下,/etc目录存放的是一些配置文件,比如passwd等配置文件,要想使用ssh远程登陆,需要配置/etc/ssh/sshd_config文件里的配置信息,使用vim编辑,在命令行模式下输入 vim /etc/ssh/sshd_config,进入之后,按“i”进入编辑状态,在其文件里找到并修改为:PasswordAuthentication

yes , PermitRootLogin

yes两行即可,

修改之后,按“esc”退出,并按“:wq”保存并退出,或直接按“:x”直接保存退出,(注意:此处的x为小写x,大写X是将文件内容加密,使用时细心注意),

退出编辑模式之后,回到命令模式,输入 sevice

ssh

start/stop/restart/status,启动/停止/重启/状态,选择start启动ssh服务。

如果上面开启SSH服务的命令不能用,可以使用命令:sudo

service

sshd

start 试试,检查是否开启SSH服务使用命令:ps

-e

|

grep

sshd

此时可以查看ssh状态是否为运行状态,运行状态即可使用ssh远程登陆。

使用“ifconfig”命令查询ip地址

使用ssh登陆时,输入主机(linux的ip地址),账号,密码登陆!

如果需要远程连接SSH,需要把22端口在防火墙上开放,关闭防火墙,或者设置22端口例外  /etc/initd/iptables

stop

怎么通过ssh登陆可参看下一篇“通过ssh实现远程登陆服务器!”

大致步骤为:

SSH

服务配置文件位置

/etc/ssh/sshd_config

#

修改配置

PasswordAuthentication

yes

PermitRootLogin

yes

#

启动SSH

服务

sevice

ssh

start/stop/status

安装SSH:yum

install

ssh

启动SSH: service

sshd

start

设置开机运行: chkconfig

sshd

on

http://baikebaiducom/view/16184htm

什么是SSH

SSH的英文全称是Secure

Shell

Protocol,安全外壳协议。

通过使用SSH,你可以把所有传输的数据进行加密,这样”中间人”这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的”通道”。SSH客户端与服务器端通讯时,用户名及口令均进行了加密,有效防止了对口令的窃听。最初SSH是由芬兰的一家公司开发的。但是因为受版权和加密算法的限制,现在很多人都转而使用OpenSSH。OpenSSH是SSH的替代软件,而且是免费的,可以预计将来会有越来越多的人使用它而不是SSH。SSH是由客户端和服务端的软件组成的。SSH安装容易、使用简单,而且比较常见,一般的Unix系统、Linux系统、FreeBSD系统都附带有支持SSH的应用程序包。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何使用SSH登录远程服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情