如何在 Eclipse 中通过 SSH 密钥登录远程服务器

如何在 Eclipse 中通过 SSH 密钥登录远程服务器,第1张

1、首页登录腾讯云官网的“管理中心”,接着在左侧导航栏“SSH密钥”进入SSH密钥管理界面;点击“创建密钥”按钮,输入密钥名,创建一个新密钥,创建完密钥后,点击“下载”按钮,下载私钥。

2、然后右键点击刚创建的密钥,绑定需要登录的服务器;绑定完服务器后,左键点击密钥,界面右侧滑出密钥详细页。如下图所示:

3、在密钥详细页中,将“公钥内容”复制到一个空白文本文档中,保存用户名为密钥名(即刚刚新建的密钥的名称),并修改文档后缀名为“pub”(注:公钥名与私钥名必须相同,并且须放置在同一文件夹下)。如下图所示:

Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。

SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文主要介绍OpenSSH免费开源实现在Ubuntu中的应用,如果要在Windows中使用SSH,需要使用另一个软件PuTTY。

SSH之所以能够保证安全,原因在于它采用了非对称加密技术(RSA)加密了所有传输的数据。

传统的网络服务程序,如FTP、Pop和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。

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

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

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

SSH分为客户端 openssh-client 和服务器 openssh-server,可以利用以下命令确认电脑上是否安装了客户端和服务器。

如果只是想远程登陆别的机器只需要安装客户端(Ubuntu默认安装了客户端),如果要开放本机的SSH服务就需要安装服务器。

首先确认ssh-server是否已经启动了

如图,sshd 表示ssh-server已经启动了。如果没有启动,可以使用如下命令启动:

停止和重启ssh服务的命令如下:

接下来就可以进行使用客户机远程登录服务器了~

口令登录非常简单,只需要一条命令,命令格式为: ssh 客户端用户名@服务器ip地址 eg:

如果需要 调用图形界面程序 可以使用 -X 选项

如果客户机的用户名和服务器的 用户名相同 ,登录时 可以省略 用户名。

还要说明的是,SSH服务的 默认端口是22 ,也就是说,如果你不设置端口的话登录请求会自动送到远程主机的22端口。我们可以使用 -p 选项来修改端口号,比如连接到服务器的1234端口:

客户机必须要知道服务器的 ip地址 。可以在服务器端电脑上利用 ifconfig 命令查看该机的ip地址:

如果是第一次登录远程主机,系统会给出下面提示:

意思是,该远程主机的真实性无法确定,其公钥指纹为 SHA256:s8pZiuKQr7k7f+57j22lk/IdWC8143VQKR+EabeP5,确定想要继续连接吗?

输入yes 即可。这时系统会提示远程主机被添加到已知主机列表。

然后会要求我们输入 远程主机的密码 ,输入的密码正确就可以成功登录了。命令提示符会修改为远程主机的提示符,现在开始,终端中输入的命令都将在服务器中执行。

我们可以通过 Ctrl+D 或者 exit 命令 退出远程登录

每次登录远程主机都需要输入密码是很不方便的,如果想要省去这一步骤,可以利用密钥对进行连接,还可以提高安全性。

1、在本机生成密钥对

使用ssh-keygen命令生成密钥对:

ssh-keygen -t rsa #-t表示类型选项,这里采用rsa加密算法

然后根据提示一步步的按enter键即可(其中有一个提示是要求设置私钥口令passphrase,不设置则为空,这里看心情吧,如果不放心私钥的安全可以设置一下),执行结束以后会在 /home/当前用户 目录下生成一个 ssh 文件夹,其中包含私钥文件 id_rsa 和公钥文件 id_rsapub。

2、将公钥复制到远程主机中

使用ssh-copy-id命令将公钥复制到远程主机。ssh-copy-id会将公钥写到远程主机的 ~/ ssh/authorized_key 文件中

ssh-copy-id ldz@19216801

经过以上两个步骤,以后再登录这个远程主机就不用再输入密码了。

1)已获取登录实例的管理员帐号及密码(或密钥)。

2)云服务器实例已开通22号端口。

—使用密码登录

Host Name(or IP address) :服务器的IP地址;

Port :服务器的端口,必须设置为22;

Connect type :选择 “SSH”;

Saved Sessions :填写会话名称,例如 test。 配置 “Host Name” 后,再配置 “Saved Sessions” 并保存,则后续使用时您可直接双击 “Saved Sessions” 下保存的会话名称即可登录服务器;

登录完成后,命令提示符左侧将显示当前登录云服务器的信息。

—使用密钥登录

Ps: 当不存在私钥文件时,可以选择Conversions > Import key 导入公钥(pem)文件来生成私钥文件(ppk)

Host Name (IP address) :服务器的IP;

Port :服务器的端口,必须填 22;

Connect type :选择 “SSH”;

Saved Sessions :填写会话名称,例如 test。 配置 “Host Name” 后,再配置 “Saved Sessions” 并保存,则后续使用时您可直接双击 “Saved Sessions” 下保存的会话名称即可登录服务器;

登录完成后,命令提示符左侧将显示当前登录服务器的信息。

ssh是可以代替telnet的一种远程管理的方式.并且具有安全\快捷等优点的一种服务.

方法一:进入Xwindows, 在shell窗口执行setup命令,选择system service启动sshd服务.

方法二:在/etc/ssh/sshd_config 文件中,将permitRootLogin no|yes设置为允许root用户远程登录

/etc/initd/sshd start 启动ssh服务

/etc/initd/sshd stop关闭服务

启动:

service sshd start

安装过程:

1以root身份登入系统(没登入系统和没有足够的权限都不能安装,晕,这不是废话)

2检查安装系统时是否已经安装SSH服务端软件包:

rpm -qa|grep openssh

若显示结果中包含openssh-server-,则说明已经安装,直接启动

sshd服务就可以了(service sshd start)(其中的内容是该包的版本,一般为35p1-6)

若无任何显示,或显示中不包含openssh-server-则说明没有安装SSH服务端软件包, 进入第3步

3找到redhat 90 安装光盘,放入光驱中并加载光驱

mount -t iso9660 /dev/cdrom /mnt/cdrom (加载光驱命令)

4查找光驱中的SSH服务端软件所在目录,一般在/mnt/cdrom/RedHat/RPMS/目录下,

可以先cd到该目录下再用ls查看,如:ls openssh,然后根据上面具体显示直接安装

rpm -ivh openssh-35p1-6 (如果第二步中显示已经安装该包就不要安装)

rpm -ivh oeenssh-server-35p1-6

5启动sshd服务 /etc/rcd/initd/sshd start

netstat -a | more看有没正常启动

如果出现:

tcp 0 0 :ssh : LISTEN

就说明正常启动了

6在windows 下用putty等SSH客户端软件连接测试,或直接在linux主机上输入

ssh 测试,但必须要先安装linux 下的SSH客户端软件包,即

openssh-clients-,安装过程和上面的服务端包相同

7若能成功远程登入,则说明SSH服务安装配置成功,

否则很可能就是你的防火墙阻止连接了,重新配置防火墙或干脆先停掉防火墙

(/etc/rcd/initd/iptables stop) 就可以连接了

或者service iptables stop

SSH全称是SecureShell,SSH是创建在应用层和传输层基础上的安全协议,采用端口为22,下面我来讲解一下如何使用putty工具来连接服务器:

工具/原料

putty

开有ssh服务的服务器

连接服务器

1、下载putty软件,网络搜索这个软件有很多下载的,当然也不一定是这款,也可以用其他同类软件连接:

2、打开软件之后,输入你连接服务器的ip地址,勾选ssh,端口22:

3、点击确定后,输入帐号和密码(密码不可见,只需要输入即可);完成后回车,看看有没有成功连接上;如果可以连接上,就可以执行命令了;如果连接不上,请检查是否密码错误或者服务器配置问题:

本地和远程服务器都创建

在创建密钥的时候,可以定义加密类型和长度,具体可以参考ssh-keygen命令帮助。创建的过程中,首先会提示你 保存的位置 和 文件名 ,再提示你 给密钥加个密码 ,也可以直接回车不要密码。

公钥和私钥默认保存这用户目录的 /ssh/ 文件夹下。默认情况下, id_rsa 为私钥, id_rsapub 为公钥。

此时 还是需要用用户名和密码登录远程Linux服务器。使用vi编辑 /etc/ssh/sshd_config 文件,先打开 PubkeyAuthentication 和 PermitRootLogin ,一般只要把这几个参数前面的#(注释符)删掉即可。

重启ssh服务

在macOS端操作以下命令,把公钥上传到远程服务器,会提示输入远程的Linux服务器的密码。

在远程Linux服务器上,操作以下命令,把公钥 追加 到服务器ssh认证文件中:

如果没有 authorized_keys 这个文件,请到 ssh 文件夹下创建一个,并把权限设置为600。

追加好后,如果要禁止用户名密码登录,再编辑 /etc/ssh/sshd_config 文件,把 PasswordAuthentication 设置为no。

重启SSH服务(每次修改ssh配置都需要重启)

如果没有设置密钥密码,直接这终端输入 ssh root@IP 即可登录远程服务器。如果该用户下没有公钥,则会提示Permission denied。

怎么用linux系统远程桌面连接?

尊敬的用户您好:

1、linux系统普遍使用SSH工具连接到服务器,一般用命令行。

2、linux桌面使用较少,远程桌面基本使用图形化工具+ssh工具才能打开,不划算。如果你想用,可以使用xmanager的xbroswer。已经使用过linux的,个人建议直接用SSH工具连接过去,抛弃图形化桌面。

3、SSH远程工具比较好用的是XSHELL。中国电信提供最优质的网络通讯服务,老友换新机,网龄抵现金,百兆宽带免费体验,超清电视iTV,电信活动可以直接通过营业厅查询。

在linux中如何开启telnet服务?

Linux默认没有开启telnet,首先更改/etc/xinetd。d/telnet文件,有的可能没有该文件,有比如krb5-telnet之类的,那就更改这个文件,如果实在一个跟telnet沾边的文件都没有;可能是没有安装telent服务,就需要拿盘再安装了,或者安装后还没有,就新建一个该文件,文件内容为:

#default:off

#description:Thekerberizedtelnetserveracceptsnormaltelnetsessions,

#butcanalsouseKerberos5authentication。

servicetelnet

{

flags=REUSE

socket_type=stream

wait=no

user=root

server=/usr/kerberos/sbin/telnetd

log_on_failure+=USERID

disable=yes

}

将其中的disable=yes的“yes”更改为“no”即可,

然后重启telnet服务

输入:servicexinetdrestart

Stoppingxinetd:

Startingxinetd:

重启成功,

这时候可以用telnet连接开通的linux主机了;但是linux默认不允许root用户远程telnet登录,两种方法解决该问题:

1,用非root‘用户登录,然后在切换到root用户,来源:www。

examda。com

2,将/etc/pam。d/login文件的第二行注释掉:#authrequiredpam_securetty。so;但是我这里没有测试通过。

linux如何远程使用?

linux操作系统通过命令行的方式就可以远程使用了。

Linux操作系统是完全可以通过命令行来操作的,目前常用的远程登录linux操作系统的方式是ssh。你在服务器端启用ssh服务,然后再远程使用支持ssh的软件,比如putty,指定服务器的地址和ssh的端口就可以登录了。Ssh端口默认是22,你也可以自己指定其他的端口。

windows系统怎么远程桌面linux连接?

尊敬的用户您好:

1、linux系统普遍使用SSH工具连接到服务器,一般用命令行。

2、linux桌面使用较少,远程桌面基本使用图形化工具+ssh工具才能打开,不划算。如果你想用,可以使用xmanager的xbroswer。已经使用过linux的,个人建议直接用SSH工具连接过去,抛弃图形化桌面。

3、SSH远程工具比较好用的是XSHELL。中国电信提供最优质的网络通讯服务,老友换新机,网龄抵现金,百兆宽带免费体验,超清电视iTV,电信活动可以直接通过营业厅查询。

linux怎么让别人远程?

linux操作系统要让别人远程登录,首先得启用远程登录的服务。一般远程登录的服务是telnet或者是ssh,在邻里操作系统上启用telnet服务器或者sshd,然后添加一个用户,让这个用户拥有远程登录的权限。这样其他人用这个用户就可以通过网络来登录你的linux操作系统了。

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

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情