使用SSH服务远程登录Linux主机

SSH是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。它是以密文传输来保证安全。一般情况下在装Linux系统的过程中是默认安装的。

想要使用ssh协议来远程管理Linux系统,需要部署sshd服务程序。sshd是基于ssh协议开发的一款远程管理服务程序,不仅使用快捷方便,而且提供两种安全验证的方法。

- 基于口令的验证-用于账户和密码来验证登录

- 基于密钥的验证-需要在本地生成密钥文件,然后把密钥对中的公钥文件上传至服务器,并与服务器中的公钥进行比较,一致则可远程登录。

实验环境:

一个Redhat7系统作为ssh服务器,当前用户是lisi,IP地址是192.168.10.70。

另一个Redhat7系统作为客户机,当前用户是zhangsan,IP地址是192.168.10.80。

两个主机确保能够互联互通。

用户口令验证登录

在Redhat7系统中已经默认安装并启动了sshd服务,接下来在客户机上使用ssh命令进行远程连接。

[[email protected] ~]$ ssh [email protected]   //ssh远程登录lisi用户的服务器
The authenticity of host ‘192.168.10.70 (192.168.10.70)‘ can‘t be established.
ECDSA key fingerprint is 93:8e:e7:3f:9a:22:6f:66:3a:f7:57:68:a1:57:3b:09.
Are you sure you want to continue connecting (yes/no)? yes  //确认连接
Warning: Permanently added ‘192.168.10.70‘ (ECDSA) to the list of known hosts.
[email protected]‘s password:  //输入目标服务器的lisi用户的密码
Last login: Wed May 23 03:36:52 2018
[[email protected] ~]$ exit   //退出远程登录
登出
Connection to 192.168.10.70 closed.

安全密钥验证

第1步: 在客户端主机中生成密钥对。

[[email protected] ~]$ ssh-keygen -t rsa                //创建密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/home/zhangsan/.ssh/id_rsa): //按回车键默认指定私钥位置在宿主目录中的隐藏文件夹.ssh下
Enter passphrase (empty for no passphrase):  //设置私钥短语123123
Enter same passphrase again:       //确认所设置的短语
Your identification has been saved in /home/zhangsan/.ssh/id_rsa.
Your public key has been saved in /home/zhangsan/.ssh/id_rsa.pub.
The key fingerprint is:
d0:b6:b9:96:b2:00:b8:f3:ea:a5:61:96:64:bd:b0:54 [email protected]
The key‘s randomart image is:
+--[ RSA 2048]----+
|                 |
|       .         |
|   E  . o        |
| .o    o o       |
|.=..    S        |
|+.+..    o       |
|o* o. . +        |
|oo+  . +         |
|o+.   .          |
+-----------------+
[[email protected] ~]$ ls -lh ~/.ssh/id_rsa*  //确认生成的密钥文件
-rw-------. 1 zhangsan zhangsan 1.8K 5月  22 19:50 /home/zhangsan/.ssh/id_rsa
-rw-r--r--. 1 zhangsan zhangsan  400 5月  22 19:50 /home/zhangsan/.ssh/id_rsa.pub

新生成的密钥对文件,id_rsa是私钥文件,权限默认为600,id_rsa.pub是公钥文件,用来提供给SSH服务器。

第2步: 修改服务器主机ssh配置文件,使其只允许密钥验证,指定公钥数据文件位置。

以root管理员身份修改配置文件(/etc/ssh/sshd_config)

 vim /etc/ssh/sshd_config

PubkeyAuthentication yes //启用密钥对验证

AuthorizedKeysFile .ssh/authorized_keys //指定公钥库数据文件

第3步: 把客户端主机中生成的公钥文件传送至服务器主机。

[[email protected] ~]$  ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] //上传公钥库文件至服务器
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]‘s password: //输入服务器lisi用户的密码

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh ‘[email protected]‘"
and check to make sure that only the key(s) you wanted were added.
[[email protected] ~]$ tail -1 ~/.ssh/authorized_keys   //显示公钥库文件信息
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/p8OHTUBJMKqJbxxwUiNJvKVHv8KSMywr
tFB3BEsC02MyU29NKXkGUVM/lC++7b/bK1j/xVg6gJXqCHk2lNrMk/jHjvR6qR7aLYhzWlCa
oDW0/Df9V9nrJNIg82DbXHUziwe6WoR9l+pzzQqYyI1Yq0iPTD4VZM5T94wRMX4taSgO8EQ
umWEeGtoHX/vgklapyMaG3ncA4SBxC0G4JUHo3q2KAfJ4eECrZ9LBwVsPq+4exlzDSeXmGh
aZO+VGo6Kbp7Q6ReA5U1YUbfsa9nKyAexiKxyzaGMXzBEri/aXGUpDibBWzRT4JDocF7PV
wHr+sshYqt4ULdG0wj91SK+D
[email protected]
[[email protected] ~]$ ls -l ~/.ssh/authorized_keys  //查看公钥库文件
-rw-------. 1 lisi lisi 400 5月  23 04:07 /home/lisi/.ssh/authorized_keys

注意任何用户对公钥库文件不能有写入的权限。

第4步: 重新启动sshd服务程序

service sshd restart

第5步: 在客户端主机使用密钥对验证

[[email protected] ~]$ ssh [email protected]     //远程登录服务器
Enter passphrase for key ‘/home/zhangsan/.ssh/id_rsa‘:123123 //输入私钥短语,以便调用私钥文件进行匹配
Last login: Wed May 23 03:37:45 2018 from 192.168.10.80
[[email protected] ~]$

所以使用密钥对验证的方式登录时,不需要知道目标服务器用户的密码,只需要验证客户端用户的私钥短语,检查公私钥文件是否匹配,这样更安全。

原文地址:http://blog.51cto.com/11134648/2126817

时间: 2024-10-08 15:13:07

使用SSH服务远程登录Linux主机的相关文章

用ssh远程登录Linux主机

ssh [email protected]地址 输入登录密码即可进入远程主机 用ssh远程登录Linux主机

Linux-解决putty无法直接使用root用户远程登录linux主机的问题

问题描述: 有时,在使用putty连接远程linux主机时会发现,无法直接使用root登录, 但是可以使用其他用户登录,然后切换至root用户. 解决办法: 1.修改配置文件 vi /etc/ssh/sshd_config  2.查找PermitRootLogin项, 设置为 PermitRootLogin yes  3.保存退出  4.重启ssh服务,问题解决

使用Telnet与ssh协议远程登录linux系统

一.计算机的登录 计算机终端设备通过输入用户账户标识和与之对应的口令的方式被计算机验证的过程. 终端的分类: 1)物理终端:计算机本身的控制台设备:通常将其标识为"pty",在现代计算机上,物理终端与早期的计算机上的物理终端的意义不一样了.在现在的linux系统上,物理终端设备被映射到/dev/console上,所有内核输出的信息都输出到console终端,除此之外,其他用户进程输出的信息一般都输出到虚拟终端或伪终端 2)虚拟终端:在现代的计算机中,通常将键盘+显示器组合称作"

winows下使用ssh服务远程登录vbox中的虚拟机

1.到http://www.putty.org/下载并安装SSH客户端 2.查看是否安装ssh服务 在ubuntu终端命令界面键入: #ssh localhost 如果出现下面提示则表示还没有安装: #ssh: connect to hostlocalhost port 22: Connection refused 3.安装ssh服务 如果通过上面步骤查看没有安装sshserver.则键入如下命令安装: #apt-get install openssh-server 4.安装完成后启动ssh #

3.更改ssh服务远程登录的配置

原文地址:https://www.cnblogs.com/gaidy/p/12068098.html

004嵌入式童年之远程登录Linux系统

通过windows主机远程登录Linux主机 前提一:从windows能ping通Linux 前提二:关闭Linux防火墙,运行命令:/etc/init.d/iptables stop (1)使用Putty,运行软件,输入IP地址(在Linux系统中通过ifconfig命令查询的eth0的IP地址),协议选择SSH,然后点击打开: 打开之后,输入用户名和密码,就可以成功连接了: (2)如果想看到图形化的界面,可以使用VNC: ①在Linux系统中安装tigervnc-server-1.0.90-

ssh免密钥登录其它主机

首先要在本机上面生成密钥,一共有两个文件 加密类型有两种  rsa  dsa id_rsa        相当于生活中的 钥匙 id_rsa.pub        相当于生活中的 锁 [[email protected] ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa):  Created directory '

使用远程shell工具SSH登录Linux主机,输完用户名回车后就卡住,10秒后才提示输入密码

使用远程shell工具SSH登录Linux主机,输完用户名回车后就卡住,10秒后才提示输入密码. 使用wireshark抓全过程包 因为ssh是加密了的协议,所以弄不懂里面内容是正常的,但可以加以过滤. 过滤栏:SSH 找到时间间隔大概为10s的NO.是x到y 过滤栏:frame.number>x&&frame.number<y 观察得出此处是DNS查询行为 原因:Linux服务器在收到SSH访问请求时,先会查询该客户端IP对应的PTR记录.假如经过5s没有收到回复,就再次发一

ssh远程登录linux live系统

要想ssh远程登录,需要准备两件事:配置同网段IP和开启SSH服务. 由于live系统没有IP,所以首先需要配置IP. 我的live系统是在虚拟机上启动的,宿主IP为192.168.230.1,live系统的IP我设置为192.168.230.180: #ifconfig eth0 192.168.230.180 然后在SecurityCRT上连接live系统,输入密码时发现live系统也没有用户密码.这时候若不输密码或者随便输入一个密码,SecurityCRT也是不让连接的.所以需要在live