SSH密钥与远程连接

1.SSH密钥

1.1.生成密钥

image

SSH配置文件位置 :~/root/.ssh/config

ssh-keygen –t rsa –b 2048 -C "your_email@example.com"

  1. 这里,-t rsa指定使用RSA算法,-b 4096指定密钥长度为4096位,-C后面是你的电子邮件地址(这只是一个标签,用于标识密钥)。

  2. 如果你没有指定文件名,系统会提示你输入文件名(默认为id_rsa),然后会再次询问是否需要密码短语(用于保护私钥)。你可以选择输入密码短语以提高安全性,或者留空以不设置密码。

  3. id_rsa:私钥文件名;id_rsa_pub:公钥文件名

1.2.上传公钥

ssh-copy-id root@192.168.244.121  可以直接从本地将公钥添加到远程服务器上

 

1.3.配置config

在SSH(Secure Shell)配置中,主要的配置文件是ssh_configsshd_config。这些文件分别用于客户端和服务器的配置。

1. ssh_config 文件

这个文件通常位于用户的家目录下(如~/.ssh/config),或者在系统的全局配置目录中(如/etc/ssh/ssh_config)。它包含了客户端(如使用ssh命令时)的配置选项。

vim ~/.ssh/config

image

  • Host:指定主机名或模式,用于匹配。

  • HostName:服务器的地址。

  • User:登录用户名。

  • Port:服务器上的SSH端口号。

  • IdentityFile:指定私钥文件的位置。

  • IdentitiesOnly:仅使用指定的身份文件进行认证。

2. sshd_config 文件

这个文件用于配置SSH服务器(如使用sshd服务时),通常位于/etc/ssh/sshd_config。它包含了服务器的配置选项。

Port 2222
Protocol 2
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
AllowUsers username1 username2
  • Port:SSH服务监听的端口号。

  • Protocol:指定SSH协议版本。

  • PermitRootLogin:是否允许root用户登录。

  • PasswordAuthentication:是否允许密码认证。

  • ChallengeResponseAuthentication:是否允许挑战-应答认证。

  • UsePAM:是否使用PAM(Pluggable Authentication Modules)进行认证。

  • AllowUsers:允许登录的用户列表。

 

修改配置文件后的重启服务

对于客户端(如果更改了客户端配置)

ssh-agent -k  # 停止ssh-agent,然后重新启动以应用更改(如果使用了ssh-agent)

对于服务器:

sudo systemctl restart sshd  # 在使用systemd的系统上重启sshd服务
sudo service ssh restart  #对于较旧的系统,使用

posted @ 2025-07-20 21:42  pk.com.cn  阅读(58)  评论(0)    收藏  举报