如何生成Linux SSH密钥 (linux ssh key 生成)

在Linux系统中,SSH(Secure Shell)协议是一种常用的远程登录协议,用于在两个计算机之间建立安全的加密连接。SSH密钥是SSH协议的一部分,它可以用来进行身份验证,以确保只有授权用户才能访问远程系统。本文将介绍如何在Linux系统中生成SSH密钥,以及如何使用生成的密钥进行远程登录。

Step 1: 安装OpenSSH

在使用SSH协议之前,需要先安装OpenSSH,它是一个提供SSH服务的开源工具。通常情况下,Linux系统已经预装了OpenSSH。如果没有,请使用以下命令进行安装:

sudo apt-get install openssh-server

Step 2: 检查SSH服务是否启动

使用以下命令检查SSH服务是否已经启动:

systemctl status ssh

如果SSH服务已经启动,将看到如下信息:

● ssh.service – OpenSSH server daemon

Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)

Active: active (running) since Fri 2023-10-15 15:32:18 UTC; 16s ago

Mn PID: 3137 (sshd)

Tasks: 1 (limit: 2319)

CGroup: /system.slice/ssh.service

└─3137 /usr/in/sshd -D

Step 3: 生成SSH密钥

使用以下命令在本地计算机上生成SSH密钥:

ssh-keygen -t ed25519 -C “[email protected]

这里使用的是Ed25519密钥,但也可以使用其他类型的密钥,如RSA或ECDSA。其中,-C参数指定一个注释,方便进行管理和识别。

运行上述命令后,会提示输入要将密钥存储在哪里,以及是否要设置一个密码。如果您不希望设置密码,则可以直接按Enter键跳过该步骤。生成的密钥对将存储在~/.ssh目录下,其中:

– id_ed25519为私有密钥

– id_ed25519.pub为公共密钥

Step 4: 复制公共密钥到远程服务器

将生成的公共密钥复制到需要访问的远程服务器上。可以使用以下命令将公共密钥复制到远程服务器中:

ssh-copy-id user@remote_host

其中,user为远程服务器上的用户名,remote_host为远程主机的IP地址或域名。运行上述命令后,会提示输入远程服务器的密码,以便将公共密钥复制到~/.ssh/authorized_keys文件中。

Step 5: 使用SSH密钥登录远程服务器

现在,您可以使用SSH密钥登录远程服务器了。使用以下命令进行登录:

ssh user@remote_host

该命令会自动使用生成的私钥进行身份验证,从而避免了每次都要输入密码的问题。

在Linux系统中生成SSH密钥非常简单,只需几个简单的步骤即可完成。SSH密钥是保护远程访问的一种非常安全的方式,它可以防止未经授权的用户访问系统。希望您能够通过这篇文章,成功学会如何生成SSH密钥,并在实际应用中加以运用。

相关问题拓展阅读:

  • linux下安装ssh
  • ssh登录Linux主机怎么默认下载密钥
  • 如何通过winscp获得ssh服务端的hostkey

linux下安装ssh

(SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。SSH有两个版本,我们现在介绍的是版本2。)

安装SSH

具体步骤如下:

获得SSH软件包。 (

成为超级用户(root).

# gzip –cd ssh-2.3.0.tar.gz |tar xvf –

# cd ssh-2.3.0

# ./configure

注意,如果你希望用tcp_wrappers来控制SSH,那么在configure时需要加上选项“–with-libwrap=/path/to/libwrap/”, 用来告诉SSH关于libwrap.a 和tcpd.h的位置。

# make

# make install

和SSH有关的程序都放置在/usr/local/bin下,包括ssh,sftp,sshd2, ssh-keygen等。

二、配置

SSH的配置文件在/etc/ssh2下,其中包括sshd2的主机公钥和私钥:hostkey和hostkey.pub。这两个文件通常是在安装SSH时自动生成的。你可以通过下面的命令重新来生成它们:

# rm /etc/ssh2/hostkey*

# ssh-keygen2 –P /etc/ssh2/hostkey

而ssh2_config 文件一般情形下无需修改。

三、启动sshd2

每个要使用SSH的系统都必须在后台运行sshd2。用手工启动:

# /usr/local/bin/sshd2&

可以在“/etc/rc2.d/S99local”中加入该命令,这样系统每次启动时会自动启动sshd2。

四、用tcp_wrappers控制SSH

安装SSH的站点可以用tcp_wrappers来限制哪些IP地址可以通过ssh来访问自己。比如,在/etc/hosts.allow中加入

sshd,sshd2: 10.0.0.1

那么只有10.0.0.1可以通过ssh来访问该主机。

以上都是系统管理员完成的工作。下面我们说说普通用户如何使用SSH。

五、基本应用

每个用户在使用SSH之前,都要完成以下步骤:

在本地主机(比如,local.pku.edu.cn)上生成自己的ssh公钥和私钥。大态命令如下:

local# ssh-keygen

Generating 1024-bit dsa key pair

1 oOo.oOo.o

Key generated.

1024-bit dsa, teng@ns, Fri Oct:27:05

Passphrase :************ /*在此输入你的口令,以后访问这台主机时要用。

Again :************ /*

Private key saved to /home1/teng/.ssh2/id_dsa_1024_a

Public key saved to /home1/teng/.ssh2/id_dsa_1024_a.pub

生成的私钥和公钥(id_dsa_1024_a和id_dsa_1024_a.pub)存放在你家目录的~/.ssh2目录下。和用户相关的SSH配置文件都在~/.ssh2下。私钥由用户保滚氏源存在本地主机上,而公钥需传送到远地主机的你自己的帐号的~/.ssh2下,如果你要用ssh2访问本地主机的话。

在~/.ssh2下创建“identification”文件用来说明进行身份认证的私钥。命令如下:

local:~/.ssh2# echo “IdKey id_dsa_1024_a” > identification

3.同样地,在远地主机(比如,remote.pku.edu.cn)上完成上面步骤。

4.将本地(local.pku.edu.cn)下你自己(这里是“teng”)的公钥(id_dsa_1024_a.pub)拷贝到远地主机(remote.pku.edu.cn)上你自己家目录下的.ssh2目录下,可命名为“local.pub”,一般用ftp上传即可。

在远地主机上,你自己家目录的.ssh2目录下,创建“authorization”文件,其中指定用来进行身份认证的公钥文件。命令如核毕下:

remote:~/.ssh2# echo “Key local.pub” > authorization

现在你可以从本地用ssh2登录到远地系统了。命令如下:

local# ssh remote.pku.edu.cn

Passphrase for key “/home1/teng/.ssh2/id_dsa_1024_a” with comment “1024-bit dsa,

teng@ns, Fri Oct:27:05″:***********

这时会要你输入你的ssh口令(Passphrase)。验证通过后,即登录到remote主机上。

3563

ssh登录Linux主机怎么默认下载密钥

想要默认下载秘钥,这样ssh登陆就不用再使用账号密码登陆了,这段游里可以使用基于主机的非对称密钥方式从丛兄主机B直接登录到主机A,具体操作步骤如下:

1,先要修改需要登陆的linux主机A:

vi /etc/ssh/sshd_config,将

RhostsRSAAuthentication

HostbasedAuthentication

PubkeyAuthentication

都设置为 yes

保存退出,重启ssh服务 /etc/init.d/sshd restart;

2,在另外一个做登陆操作的主机A上进行一下操作:

cd ~/.ssh/ (如果没有.ssh文件夹,可以自己mkdir .ssh)

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_rsa.pub.

The key fingerprint is:

93:08:88:88:dc:8f:46:d8:a3:09:fc:35:25:50:d0:fe

3,秘钥生成以后,将秘钥文件从A主机拷贝到B主机:

#scp -P~/.ssh/id_rsa.pub root@A主机IP:/root/.ssh/authorized_keys

root@B主机ip’s password:

输入正确密码,回车

id_rsa.pub00%.4KB/s 00:00

这样~/.ssh/id_rsa.pub 秘钥已经安全传输到B主机上的/root/.ssh/目录下并命名为authorized_keys(必须重命名为此文件名);

#ssh -proot@A主机IP

Enter passphrase for key ‘/root/.ssh/id_rsa’:

密语正确出现类似如下的登录信息:

Last login: Sat Jul 26 11:16:from B主机ip

#

登录A主机成握郑销功。

  之一步:生成密匙对腔带,我用的是rsa的密钥。使用命令 “ssh-keygen -t rsa”

  $ ssh-keygen -t rsa

  Generating public/private rsa key pair.

  Enter file in which to save the key (/home/user1/.ssh/id_rsa):

  Created directory ‘/home/user1/.ssh’.

  Enter passphrase (empty for no passphrase):

  Enter same passphrase again:

  Your identification has been saved in /home/user1/.ssh/id_rsa.

  Your public key has been saved in /home/user1/.ssh/id_rsa.pub.

  The key fingerprint is:

  e0:f0:3b:d3:0a:3d:da:42:01:6a:61:2f:6c:a0:c6:e7

  $

  生成的没圆喊过程中提示输入密钥对保存位置,直接回车,接受默认值就行了。接着会提示输入一个不同于你的password的密码枯野,直接回车,让它空着。当然,也可以输入一个。这样,密钥对就生成完了。

  其中公共密钥保存在 ~/.ssh/id_rsa.pub

  私有密钥保存在 ~/.ssh/id_rsa

  然后改一下 .ssh 目录的权限,使用命令 “chmod 755 ~/.ssh”

  之后把这个密钥对中的公共密钥复制到你要访问的机器上去,并保存为 ~/.ssh/authorized_keys.

  $ scp ~/.ssh/id_rsa.pub rh1:/home/user1/.ssh/authorized_keys

  user1@rh1’s password:

  id_rsa.pub 100% 228 3.2MB/s 00:00

  $

如何通过winscp获得ssh服务端的hostkey

WinSCP(SSH的FTP客户端)如何生成密钥登陆linux?之前有很朋友发现登陆linux时要输入密码验证才能上,后来有了KEY,便可以用KEY直接登陆,那么很多SSH工具都有生成KEY登陆的,在此,我介绍两个最常用的SSH登陆LINUX的工具给大家,并分袜迟扰享给大家如何生成密钥登陆LINUX;

  之一,WINSCP这个工具无疑是广泛使用的一个工具,下载与安装这里不做介绍,众所周知;那么说一下,安装好WINSCP并没有SSH登陆LINUX的工具,我们得下载一个Putty登告旦陆工具,并有一个Puttygen这个工具,这是生成密钥的工具

  然后我们打开WINSCP工具

  下一步:

  这个id_rsa.rsa怎旦拿么生成的呢?LOOK

  输入命令后,直接回车-回车-回车便可以了,然后,在~.ssh/就会生成id_rsa,id_rsa.pub这个两个文件;COPY出来这两个文件,在WIN下面生成PPK文件,便可以用来认证登陆;

  接着上面如何生成KEY登陆linux

  以上保存后,我们便可以来使用生成的PPK文件来验证登陆LINUX了;LOOK

  这样便可以登陆了

关于linux ssh key 生成的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

香港服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/203168.html<

(0)
管理的头像管理
上一篇2025-04-06 13:43
下一篇 2025-04-06 13:45

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注