ssh服务介绍,第1张

SSH是Secure Shell Protocol的简写。在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。确保了传递的数据安全。

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

在默认状态下,SSH服务主要提供两个服务功能;一个是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务:另一个类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务 提醒SSH客户端(ssh命令)还包含一个很有用的远程安全拷贝命令scp,也是通过ssh协议工作的

小结:

1)SSH是安全的加密协议,用于远程连接Linux服务器。

2)SSH默认的端口是22,安全协议版本是SSH2,除了2还有ssh1有漏洞

3)SSH服务器端主要包含两个服务器功能SSH远程连接,SFTP服务。

4)Linux SSH客户端包含ssh远程连接命令,以及远程拷贝scp命令等。

修改SSH服务的运行参数,是通过修改配置文件/etc /ssh/sshd_config实现的。

Port 52114 (ssh默认连接端口是22 修改他)

PermitRootLogin no(禁止远程root登陆)

PermitEmptyPasswords no(禁止空密码的登陆)

UseDNS no(不适用DNS)

ListenAddress 17216161:22 (只监听内网IP 可以加端口号)

在远程管理linux系统基本上都要使用到ssh,原因很简单:telnet、FTP等传输方式是‍以明文传送用户认证信息,本质上是不安全的,存在被网络窃听的危险。SSH(Secure Shell)目前较可靠,是专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题,透过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。

ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。两个配置文件都允许你通过设置不同的选项来改变客户端程序的运行方式。下面列出来的是两个配置文件中最重要的一些关键词,每一行为“关键词&值”的形式,其中“关键词”是忽略大小写的。

‍‍1、编辑 /etc/ssh/ssh_config 文件

Site-wide defaults for various options

Host

ForwardAgent no

ForwardX11 no

RhostsAuthentication no

RhostsRSAAuthentication no

‍ RSAAuthentication yes

PasswordAuthentication yes

FallBackToRsh no

UseRsh no

BatchMode no

CheckHostIP yes

StrictHostKeyChecking no

IdentityFile ~/ssh/identity

Port 22

Cipher blowfish

EscapeChar ~

下面对上述选项参数逐进行解释:

Site-wide defaults for various options

带“#”表示该句为注释不起作,该句不属于配置文件原文,意在说明下面选项均为系统初始默认的选项。说明一下,实际配置文件中也有很多选项前面加有“#”注释,虽然表示不起作用,其实是说明此为系统默认的初始化设置。

Host

"Host"只对匹配后面字串的计算机有效,“ ”表示所有的计算机。从该项格式前置一些可以看出,这是一个类似于全局的选项,表示下面缩进的选项都适用于该设置,可以指定某计算机替换 号使下面选项只针对该算机器生效。

ForwardAgent no

"ForwardAgent"设置连接是否经过验证代理(如果存在)转发给远程计算机。

ForwardX11 no

"ForwardX11"设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY set)。

RhostsAuthentication no

"RhostsAuthentication"设置是否使用基于rhosts的安全验证。

RhostsRSAAuthentication no

"RhostsRSAAuthentication"设置是否使用用RSA算法的基于rhosts的安全验证。

RSAAuthentication yes

"RSAAuthentication"设置是否使用RSA算法进行安全验证。

PasswordAuthentication yes

"PasswordAuthentication"设置是否使用口令验证。

FallBackToRsh no

"FallBackToRsh"设置如果用ssh连接出现错误是否自动使用rsh,由于rsh并不安全,所以此选项应当设置为"no"。

UseRsh no

"UseRsh"设置是否在这台计算机上使用"rlogin/rsh",原因同上,设为"no"。

BatchMode no

"BatchMode":批处理模式,一般设为"no";如果设为"yes",交互式输入口令的提示将被禁止,这个选项对脚本文件和批处理任务十分有用。

CheckHostIP yes

"CheckHostIP"设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为"yes"。

StrictHostKeyChecking no

"StrictHostKeyChecking"如果设为"yes",ssh将不会自动把计算机的密匙加入"$HOME/ssh/known_hosts"文件,且一旦计算机的密匙发生了变化,就拒绝连接。

IdentityFile ~/ssh/identity

"IdentityFile"设置读取用户的RSA安全验证标识。

Port 22

"Port"设置连接到远程主机的端口,ssh默认端口为22。

Cipher blowfish

“Cipher”设置加密用的密钥,blowfish可以自己随意设置。

EscapeChar ~

“EscapeChar”设置escape字符。

2、编辑 /etc/ssh/sshd_config 文件:‍

This is ssh server systemwide configuration file

Port 22

ListenAddress 19216811

HostKey /etc/ssh/ssh_host_key

ServerKeyBits 1024

LoginGraceTime 600

KeyRegenerationInterval 3600

PermitRootLogin no

IgnoreRhosts yes

IgnoreUserKnownHosts yes

StrictModes yes

X11Forwarding no

PrintMotd yes

SyslogFacility AUTH

LogLevel INFO

RhostsAuthentication no

RhostsRSAAuthentication no

RSAAuthentication yes

PasswordAuthentication yes

PermitEmptyPasswords no

AllowUsers admin

‍下面逐行说明上面的选项设置:

Port 22

"Port"设置sshd监听的端口号。

ListenAddress 19216811

"ListenAddress”设置sshd服务器绑定的IP地址。

HostKey /etc/ssh/ssh_host_key

"HostKey”设置包含计算机私人密匙的文件。

ServerKeyBits 1024

"ServerKeyBits”定义服务器密匙的位数。

LoginGraceTime 600

"LoginGraceTime”设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(以秒为单位)。

KeyRegenerationInterval 3600

"KeyRegenerationInterval”设置在多少秒之后自动重新生成服务器的密匙(如果使用密匙)。重新生成密匙是为了防止用盗用的密匙解密被截获的信息。

PermitRootLogin no

"PermitRootLogin”设置是否允许root通过ssh登录。这个选项从安全角度来讲应设成"no"。

IgnoreRhosts yes

"IgnoreRhosts”设置验证的时候是否使用“rhosts”和“shosts”文件。

IgnoreUserKnownHosts yes

"IgnoreUserKnownHosts”设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的"$HOME/ssh/known_hosts”

StrictModes yes

"StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。

X11Forwarding no

"X11Forwarding”设置是否允许X11转发。

PrintMotd yes

"PrintMotd”设置sshd是否在用户登录的时候显示“/etc/motd”中的信息。

SyslogFacility AUTH

"SyslogFacility”设置在记录来自sshd的消息的时候,是否给出“facility code”。

LogLevel INFO

"LogLevel”设置记录sshd日志消息的层次。INFO是一个好的选择。查看sshd的man帮助页,已获取更多的信息。

RhostsAuthentication no

"RhostsAuthentication”设置只用rhosts或“/etc/hostsequiv”进行安全验证是否已经足够了。

RhostsRSAAuthentication no

"RhostsRSA”设置是否允许用rhosts或“/etc/hostsequiv”加上RSA进行安全验证。

RSAAuthentication yes

"RSAAuthentication”设置是否允许只有RSA安全验证。

PasswordAuthentication yes

"PasswordAuthentication”设置是否允许口令验证。

PermitEmptyPasswords no

"PermitEmptyPasswords”设置是否允许用口令为空的帐号登录。

AllowUsers admin

"AllowUsers”的后面可以跟任意的数量的用户名的匹配串,这些字符串用空格隔开。主机名可以是域名或IP地址。

通常情况下我们在连接 OpenSSH服务器的时候假如 UseDNS选项是打开的话,服务器会先根据客户端的 IP地址进行 DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,并验证是否与原始 IP地址一致,通过此种措施来防止客户端欺骗。平时我们都是动态 IP不会有PTR记录,所以打开此选项也没有太多作用。我们可以通过关闭此功能来提高连接 OpenSSH 服务器的速度。

1)执行命令生成私钥和公钥 ssh-keygen -t dsa 如图:

3)我们切换过去就不需要密码了 如图

为了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远程登录

1 ssh简介以及本例的应用场景

① ssh的简介

SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。 SSH是英文Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。

② 本例的应用场景

用户在client(Linux)上通过ssh远程执行server(Windows)上的命令,比如c:\testbat

注:Linux版自带ssh Server且默认启动,具体设置方法请参见google。

2 ssh服务器的安装(Windows)

ssh服务器软件有许多中,我们这里使用的是免费的freeSSHd。

① 首先从官方站点下载软件并安装(http://wwwfreesshdcom/)

② 安装完成后进入配置界面(Server Status),确认SSH server正在运行状态

③ 进入Users界面,设定一个访问的用户账户(比如xut)

这里我们建立一个叫xut的用户,认证有3种方式可以选择。从以后通过ssh运行命令的方便(无需输入密码)考虑,我们选择Public key认证方式。选择Password方式的话,每次访问需要输入密码,此种方式较为繁琐而且安全性不高。然后开放其Shell权限。

④ 进入认证界面,确认Public key认证方式属于激活状态(选择Allowed或Required)

此时ssh服务器端的基本设置已经OK,可进一步进行更加详细的设置(比如访问限定等),此处不再介绍。

注意:服务器端如果有防护墙时应该开发TCP 22号端口最为ssh连接使用。

3 ssh客户端的设置(Linux)

由于我们的客户端采用的是Linux,所以不用安装客户端软件,系统自带的就有。

我们需要在Linux上创建一个共有和私有的密钥对,私有密钥放到客户端(Linux)上,共有密钥放到服务器端(Windows)上。在Linux上通过ssh-keygen命令来创建。

[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_rsapub

The key fingerprint is:

4d:dd:48:af:76:c2:ba:a8:bc:20:f3:28:1d:6a:28:53

其中,/root/ssh/id_rsa为私有密钥,/root/ssh/id_rsapub为共有的密钥。

此时,需要把共有密钥放到服务器端(Windows)进行保存,以便于服务器端进行安全检查。

我们通过认证界面找到存放共有密钥的地址(Public key folder)。

如上图所示,然后在c:\Program Files\freeSSHd目录下创建以登录用户名为名字的文本文件,此处举例为xut文件。并将/root/ssh/id_rsapub文件中的内容拷贝到c:\Program Files\freeSSHd\xut文件中。

至此,客户端和服务器端的密钥设置已经完成,可以通过如下命令进行远程的命令执行。

ssh xut@17228xxxxx "c:\testbat"

这条命令将执行服务器端的C盘下的testbat文件,并把结果返回,整个操作不需输入密码。

4 ssh客户端的设置(Windows)

由于Windows不附带ssh的客户端和服务器端,我们这里找一个免费的客户端软件PuTTY。

PuttY主页:http://wwwchiarkgreenendorguk/~sgtatham/putty/

各种客户端的比较:http://enwikipediaorg/wiki/Comparison_of_SSH_clients

在Putty主页,我们下载puttyzip(含除了PuTTYtel以外的所有文件),然后解压会发现一个叫plinkexe的文件,这就是我们的ssh客户端命令行软件。

我们首先要成一个共有和私有的密钥对,使用puttyzip中附带的PUTTYGENexe生成。

启动PUTTYGENexe后可以见到下图界面,点击[Generate]即可生成所需密钥对。

注意:由于是采用随机算法生成,需要不停地在对话框上移动鼠标进度条才会增加,否则将保持不变。

鼠标在这里不停移动

密钥生成完毕后,可以把私有密钥进行保存,为了登录简单起见不对私钥进行加密,提示没有passphrase选择忽略即可。假设我们这里把私钥保存为pri_keyppk。

我们把公钥放在freeSSHd端(ssh服务器端)进行保存,具体保存方法参见ssh客户端的设置(Linux)。

在Windows客户端,执行如下命令进行ssh连接,并不需要输入密码即可通过密钥进行自动认证。

plink -i pri_keyppk xut@17228xxxxx c:\testbat

(此时将执行服务器端的c:\testbat脚本。)

注:第一次连接时将出现“The server's host key is not cached in the registry…

如何开启ssh服务?

一般的linux系统都是默认安装了ssh服务,ssh的服务名一般都是sshd:servicesshdstart开启ssh服务servicesshdstop停止ssh服务servicesshdrestart重启ssh服务或者使用使用带有路径的脚本:/etc/initd/sshdstart/etc/initd/sshdstop/etc/initd/restart

linuxssh保持连接用什么命令?

通过ssh连接到linux服务器,如果时间长了,可能连接会自动断开。为了保持ssh连接,需要在比较短的时间内,发生数据的传送。

要达到这个目的,你可以运行一个不断显示变化内容的程序,比如你可以使用top这个命令,然后就能够不断地显示系统的各个进程的状态,这样就能保持连接时间长一点。

SSH是什么?Linux如何修改SSH端口号?

1

SSH为SecureShell

由IETF的网络工作小组(NetworkWorkingGroup)所制定;

SSH是建立在应用层和传输层基础上的一种安全协议。

SSH传输数据是加密的,可以有效防止传输过程被截取数据保障安全。

SSH的数据是经过压缩的,所以可以加快传输的速度

1

首先查看一下当前linux是否已经安装SSH软件包,使用rpm-qa|grepssh

2确认ssh服务已经开启

3找到SSh服务配置文件路径一般都是在/etc/ssh这个目录下面sshd_config这个文件

编辑修改SSH端口号

1使用VIvim编辑器,打开sshd_config这个文件,搜索找到port字段

2将光标定位到port22这行yy然后键盘P复制一行,insert插入编辑22端口为2222

3设置好之后,wq保存退出,表示已经增加了一个2222端口号啦

4设置好之后,当然需要重启SSH服务了。

5如果您有设置防火墙,请修改增加防火墙规则,或者直接关闭防火墙也行

注意事项

SSH端口默认是22,如果要修改直接编辑22端口注意前面的“#”要去掉,然后保存重启

linux下没有ssh服务怎么办?

linux下一般是有ssh服务的,如果没有可以使用yuminstallssh进行在线安装。

linux下没有ssh服务怎么办?

linux下一般是有ssh服务的,如果没有可以使用yuminstallssh进行在线安装。

Linux服务器可以用SSH连接上,可是pingIP为什么不通?

Linux服务器可以SSH连接,但是ping不通是因为防火墙策略禁止了icmp包,可以通过以下方式解除禁ping即可。

1、查看iptables策略,使用-D删除相应的icmp报文策略。netipv4icmp_echo_ignore_all=0//改为0即为关闭禁ping,1为开启禁ping

SSH连接linux服务器反复提示输密码?

ssh不能登录linux需要检查客户端和服务器端:

客服端:

ssh连接方式为:ip+端口号(默认为22)

服务器端:

1、先把sshd服务开启;

/etc/initd/shhdrestrat2、把linux的防火墙关掉;

1)重启linux后生效:

chkconfigiptablesoff2)即时生效,重启后失效:

serviceiptablesstop3、客户端重新ssh登陆linux。

SSH服务器失败怎么办?

分享三个SSH服务器失败的修复办法:解决方法:

一、开启SSH以root用户登录Linux,打开终端,运行:/etc/initd/sshdrestrat二、关闭防火墙1、在终端运行setup2、选择firewall回车3、按tab键切换到disablede项,然后按空格键选择,然后再按tab键切换到ok,按空格件选择4、按tab键切换到quit,按空格件选择然后用客户端ssh登录Linux,成功登录。

三、关闭防火墙的另一种方式补充一个,红旗linux的某些版本,不允许root用户远程登陆的,需要修改设置#vi/etc/ssh/sshd_config中PermitRootLoginno#这就不允许root用户远程登录,要修改成PermitRootLoginyes并重启sshd服务才行的。#servicesshdrestart重新登录OK。

在redhatlinux70中手动设置的ip为什么无法用ssh登录?

内网连接成功说明ssh服务没有问题,可能的问题是nat、路由或边界访问控制。请做如下测试:

1、在redhatlinux上开启tcpdump进行数据包抓取,具体如下:tcpdump-n"tcpport22";

2、在外网对redhatnat后的外网ip地址进行ssh连接尝试,此时如果在redhat的tcpdump下有数据包出现,则说明你的nat没有问题。请确认在redhat上是否有正确设置网关。

3、在外网对redhatnat后的外网ip地址进行ssh连接尝试,此时如果在redhat的tcpdump下没有数据包出现,则说明你的nat有问题,或者在路由器上是否存在访问控制策略,请检查。

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” 下保存的会话名称即可登录服务器;

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

介绍如何在windows主机上通过ssh远程登录ubuntu操作系统,这里以虚拟机的操作系统为例讲解。方法/步骤

准备工作:首先需要在windows系统中安装虚拟机,并在虚拟机中安装好linux操作系统,这里安装的是vmware player虚拟机和ubuntu版本的操作系统。关于该部分的安装在作者的其他经验中有详细介绍。

在windows主机中安装上ssh软件,ssh是Secure Shell 的缩写,主要提供远程登录协议。windows下的安装很简单,只要下载好安装程序,双击即可安装。安装完成后会生成两个软件图标。

在ubuntu系统中安装ssh,通常ubuntu中默认是安装的。可以通过命令进行查看:dpkg -l | grep ssh

如果ubuntu系统中没有安装ssh程序,也可以使用下列命令进行安装:

sudo apt-get install openssh-client

sudo apt-get install openssh-server

安装好后ssh服务的启动和停止命令如下:

启动ssh服务:

#sudo /etc/initd/ssh start

停止ssh服务:

#sudo /etc/initd/ssh stop

重启ssh服务:

#sudo /etc/initd/ssh restart

通过虚拟机启动ubuntu系统,打开shell终端,通过ifconfig命令,查看该系统的ip地址,ssh的端口号一般为22

打开windows系统中的ssh客户端软件,选择快速连接,输入ubuntu系统的ip地址和账户名,并根据提示输入密码,即可通过ssh登录到ubuntu系统中去,并执行各种命令操作。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » ssh服务介绍

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情