windows 上用xshell使用 ssh自动登录linux

简介:

说明:今天来了一个小伙伴,因为业务需要,要登录一台测试系统,问我密码是多少,我说我配置的密钥登录的,估计他不太熟悉,所以我简单的演示了一下配置过程给他看,顺便也记录了下整个配置过程。

1、关于密钥登录系统的原理

  关于配置原理,可以参考https://help.aliyun.com/knowledge_detail/41493.html,现在阿里云的官方文档写的很详细,我也不想粘贴复制了。


2、服务端的配置过程

a)生成密钥对(这里我只是做个测试,所以一路回车就好了)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@LVS-DR02 ~] # 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' .
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_rsa .pub.
The key fingerprint is:
ce:6a:a7:fc:e6:d4:f4:21:98:5c:3b:f1:03:01:9d:7a root@LVS-DR02.saltstack.com
The key's randomart image is:
+--[ RSA 2048]----+
|        .o..     |
|          o.     |
|         .+      |
|       ..+E=     |
|        S.= +    |
|       o o + o   |
|        + . .    |
|     ..oo        |
|     .+*o        |
+-----------------+

b)查看密钥的位置(默认存在家目录的.ssh下)*:

1
2
3
4
5
[root@LVS-DR02 ~] # cd /root/.ssh/
[root@LVS-DR02 . ssh ] # ll
total 8
-rw------- 1 root root 1679 Jun 26 20:13 id_rsa
-rw-r--r-- 1 root root  409 Jun 26 20:13 id_rsa.pub

c)设置Linux主机:

1
2
把id_rsa.pub 复制为authorized_keys,放在需要登陆的linux主机的~/. ssh 目录下
[root@LVS-DR02 . ssh ] # cat id_rsa.pub >>authorized_keys

d)设置ssh服务参数

SSH 服务默认开启了证书认证支持。编辑 SSH 服务配置文件(默认为/etc/ssh/sshd_config),确保如下参数没有显示的置为 no。否则,将参数值修改为yes,或者删除或注释(在最开头添加 # 号)整行配置。

1
2
3
4
[root@LVS-DR02 . ssh ] # vim /etc/ssh/sshd_config
将下面两行的注释取消
#RSAAuthentication yes
#PubkeyAuthentication yes

e)下载私钥到远程计算机(公钥相当于锁,私钥相当于钥匙)

1
[root@LVS-DR02 . ssh ] # sz -y id_rsa

3、客户端的配置

a)如下图所示,进入xshell的登录界面

wKioL1lRAbnyuPlvAACb8kdVwxk421.jpg

b)选择基于Public Key的登录验证方式

wKioL1lRAbrRs6wwAACsEDfpE3Q572.jpg

c)导入key

wKiom1lRAbqymgTFAACpN4hK17Y978.jpg

d)选择导入

wKioL1lRAbuTDX4cAABErvpBmkk104.jpg

e)这里我们将之前从服务端sz -y导入的id_rsa改名为LVS-RS02,主要也是为了对应不同的服务

wKiom1lRAbvQ4gu2AABP35j9RQw881.jpg

f)这样我们就可以很方便的登录到系统中了

wKioL1lRAbuhd9J5AABkR907xa0790.jpg

补充方法:

1)在windows的xshell下生成密钥

wKioL1lUurLhfRZIAACKwboGKkA801.png

2)选择默认的RSA密钥类型,保持密钥长度为2048

wKiom1lUurLgZZ7cAACDYjnAACo113.png

3)生成密钥对的过程

wKioL1lUurPSe0rsAAB6R-yJVvw524.png

4)默认的密钥名称为id_rsa_2048

wKioL1lUurTxhNIwAAB8ODPl6-I306.png

5)为了避免每次登陆输入密码,这里我保持密码为空

wKiom1lUurTjoov8AACQN92GB0M263.png

6)保存复制的公钥

wKiom1lUurWSpJmOAACjDzSDLQA800.png

7)将公钥拷贝到服务端的.ssh目录下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@LVS-DR01 . ssh ] # cat id_rsa_2048.pub 
ssh -rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzoNEC5+T6dl+p5nD78 /SPcqdFPecSNVHF7R6FhY0cxCHDSWUTORU4isGIRJOwmr3o +7kgpY8o4ACw8FgYY2xt3jjFo8t1xlcnKZ4s0VxyqRrVFe4xZa2dGxyaQ6q13Bwno+yE93+nfXK2W1+aBDuouGgaFX2av9lGWJqfzXoHh+yKATF367ErnUBIQbM0N /rPBzggxtyKCHekOu1605Fie/xcQTZJbvm2dkCwMJg1gx2B4qgBKIbLi +Q==[root@LVS-DR01 .s
total 16
-rw------- 1 root root 1675 Jun 29 09:46 id_rsa
-rw-r--r-- 1 root root  380 Jun 29 16:14 id_rsa_2048.pub
-rw-r--r-- 1 root root  409 Jun 29 09:46 id_rsa.pub
-rw-r--r-- 1 root root  976 Jun 29 09:48 known_hosts
[root@LVS-DR01 . ssh ] # ls -la
total 20
drwx------   2 root root   80 Jun 29 16:15 .
dr-xr-x---. 18 root root 4096 Jun 29 15:50 ..
-rw-------   1 root root 1675 Jun 29 09:46 id_rsa
-rw-r--r--   1 root root  380 Jun 29 16:14 id_rsa_2048.pub
-rw-r--r--   1 root root  409 Jun 29 09:46 id_rsa.pub
-rw-r--r--   1 root root  976 Jun 29 09:48 known_hosts
将公钥内容保存到authorized_keys文件中,设置文件权限为600
[root@LVS-DR01 . ssh ] # cat id_rsa_2048.pub>>authorized_keys
[root@LVS-DR01 . ssh ] # chmod 600 authorized_keys

8)登陆验证

wKiom1lUvbCyHEqNAABj07xsrNo747.png

9)使用用户的密钥

wKiom1lUvbGQguh7AAA6GyNqtNA127.png

10)选择身份验证方式

wKioL1lUvbGSUR16AABkLMWlGWo051.png

11)登陆成功

1
2
3
4
Connecting to 10.10.10.101:2222...
Connection established.
To escape to  local  shell, press  'Ctrl+Alt+]' .
Last login: Thu Jun 29 16:45:21 2017 from 10.10.10.1

到此,所有配置均已完成


12)配置思路

a、生成密钥对:

b、将公钥传输至远程服务器对应的家目录的指定文件

c、进行测试










本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1942173,如需转载请自行联系原作者
目录
相关文章
|
21天前
|
Web App开发 存储 Linux
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
61 0
|
1月前
|
安全 Linux Shell
Linux SSH(Secure Shell)服务
Linux SSH提供安全网络协议,使用公钥加密技术确保远程服务传输安全。OpenSSH是实现SSH服务的免费开源工具,允许用户加密连接远程登录Linux服务器执行任务。SSH比Telnet更安全,防止数据被截获。SSH还支持端口转发和隧道,广泛应用于系统管理和网络维护,是安全远程访问服务器的重要工具。
28 1
|
22天前
|
Linux 网络安全 数据安全/隐私保护
SSH工具连接远程服务器或者本地Linux系统
SSH工具连接远程服务器或者本地Linux系统
21 0
|
1月前
|
Linux 网络安全
linux免密登录报错 Bad owner or permissions on /etc/ssh/ssh_config.d/05-redhat.conf
linux免密登录报错 Bad owner or permissions on /etc/ssh/ssh_config.d/05-redhat.conf
34 1
|
9天前
|
iOS开发 MacOS Windows
|
10天前
|
存储 安全 Linux
|
16天前
|
监控 安全 Linux
【专栏】Linux SSH 的安全对于远程管理至关重要,这几个小妙招安排上!
【4月更文挑战第28天】在数字化时代,Linux SSH 的安全对于远程管理至关重要。增强 SSH 安全包括:使用强密码,调整 SSH 配置文件,尤其是端口号和认证方式;采用密钥认证代替密码;限制登录用户,禁止密码登录;使用防火墙限制访问;定期更新系统和软件。此外,通过日志监控、入侵检测系统及及时应对攻击来提升安全监控。保持对安全知识的学习和更新,结合最佳实践,是保障 SSH 安全的关键。记得安全是个持续过程,时刻保持警惕!
|
22天前
|
Linux 网络安全
Linux(16)ssh_exchange_identification: read: Connection reset by peer问题
Linux(16)ssh_exchange_identification: read: Connection reset by peer问题
19 0
|
1天前
|
安全 Linux Shell
|
5天前
|
机器学习/深度学习 Linux 网络安全
ssh远程访问windows系统下的jupyterlab
ssh远程访问windows系统下的jupyterlab
15 3