SSH免密码登录
2024-10-22 14:52:45

SSH免密码登录

1、生成RSA密码对

在命令行中输入:

1
[root@youtmd nginx_conf]# ssh-keygen -t rsa

会提示用户填入路径,此处我填:/root/.ssh/abcdefg

再按两次回车。

1
2
3
4
5
[root@youtmd nginx_conf]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/abcdefg
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

2、配置ssh登录信息

编辑/root/.ssh/config文件:

1
2
3
4
5
6
7
Host gitee.com
HostName gitee.com
User git
Port 22
IdentityFile /root/.ssh/abcdefg
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

配置解析如下:

字段 解析
Host 主机
HostName 主机名称
User 登录远程主机的用户名
Port 端口
IdentityFile 私钥路径
HostKeyAlgorithms 主机密钥算法追加+ssh-rsa
PubkeyAcceptedKeyTypes 公钥接受类型+ssh-rsa

3、复制公钥到远程主机

进入/root/.ssh,将公钥显示出来cat abcdefg.pub。

1
2
3
4
[root@youtmd .ssh]# pwd
/root/.ssh
[root@youtmd .ssh]# cat abcdefg.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCk/fAiYvzSsJ+wP18fQtez28mzKYAGWFyiWPjH1vvlUiI7XCsRDlw995z2EsoJsg8/+NDm8ixsz7HH7vmeZFbg5cY+jq6J1SDGOWql55IyjBhYCu6LQHqt0VTz6Sh/owyhQXGDpnWpj8DOZ0kB1V13CXHo5Nd5oAhm5Iri6CkbuW1SitiK93pANfLq2+/Oeyo89cylTviRwO4hl5JW9XhqD3Ve01YcFCcC/mt+g6ZxtzhYefEMqhkYpuDvbtCC1GSFIQZL9WRYPH5bS4pHgZo1SXRpOzNKml2C8ZNFQnBUqxISa1osOMCD4vldnrnfIRiC5juhPZtG8Khy5auRixJUJ306wAtHaM/1HhiRZ4gRJkC/M1Rap0phLVYaVvWQCt0XOcvZN0G9F0AIAF8oUlst7Tn5M9tlr4/gElhDB2FK7D2PCNaOgDSI6dqV/t+r1JVVvksNlxmOmjXYJuF6i+3qMhjH5mHXSVHv87sNlVhHjGHRA2a/la4Lo0FbX0D+vKc= root@youtmd.com

以gitee为例:登录完gitee后,

1、点击头像

2、点击SSH公钥

3、将公钥贴上

1695782844166

若你的远程主机是一台Linux服务器,你可以选择使用ssh-copy-id命令去进行复制。

5、连接

此时可以用git克隆远程主机的仓库到本机,或者进行免密码登录操作。

1
2
3
[root@youtmd .ssh]# ssh git@gitee.com
Hi technofiend(@technofiend)! You've successfully authenticated, but GITEE.COM does not provide shell access.
Connection to gitee.com closed.
2024-10-22 14:52:45
下一页