SSH密钥与远程连接
1.SSH密钥
1.1.生成密钥
SSH配置文件位置 :~/root/.ssh/config
ssh-keygen –t rsa –b 2048 -C "your_email@example.com"
-
这里,
-t rsa指定使用RSA算法,-b 4096指定密钥长度为4096位,-C后面是你的电子邮件地址(这只是一个标签,用于标识密钥)。 -
如果你没有指定文件名,系统会提示你输入文件名(默认为
id_rsa),然后会再次询问是否需要密码短语(用于保护私钥)。你可以选择输入密码短语以提高安全性,或者留空以不设置密码。 -
id_rsa:私钥文件名;id_rsa_pub:公钥文件名
1.2.上传公钥
ssh-copy-id root@192.168.244.121 可以直接从本地将公钥添加到远程服务器上
1.3.配置config
在SSH(Secure Shell)配置中,主要的配置文件是ssh_config和sshd_config。这些文件分别用于客户端和服务器的配置。
1. ssh_config 文件
这个文件通常位于用户的家目录下(如~/.ssh/config),或者在系统的全局配置目录中(如/etc/ssh/ssh_config)。它包含了客户端(如使用ssh命令时)的配置选项。
vim ~/.ssh/config
-
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 #对于较旧的系统,使用



浙公网安备 33010602011771号