软件配置
SSH免密登录
MAC
- 在本地机器用ssh-keygen 生成一个公私钥对
在ssh目录下进行,输入三个回车
进入.ssh目录
cd .ssh
发起公钥请求ssh-keygen -t rsa
在.ssh/目录下,会新生成两个文件:id_rsa.pub
和id_rsa
2. 上传公钥到目标机器
往远程主机
authorized_keys
文件上传公钥(没有则创建该文件,文件位于 .ssh/authorized_keys
)
ssh-copy-id hduser@192.168.157.146
- 直接编辑
authorized_keys
另外我们要注意, .ssh目录的权限为700,其下文件authorized_keys和私钥的权限为600。否则会因为权限问题导致无法免密码登录。我们可以看到登陆后会有known_hosts文件生成。 chmod -R 700 .ssh/ sudo chmod 600 .ssh/authorized_keys
Reference
Windows
本地机器生成公私钥
可能存在的问题
Enter passphrase for /Users/hwzhao/.ssh/id_rsa:
利用ssh-keygen -t rsa -b 4096 -C "xxx@xxx.com"生成公,私钥的时候设置私钥密码,导致ssh免登录设置完成后一直需要输入私钥密码,才能链接SSH服务端,非常不方便。
- 第一步: 将私钥添加到钥匙串中,按照提示输入私钥密码
ssh-add -K ~/.ssh/id_rsa
1
2
2
- 第二步
在.ssh文件夹下config文件中配置服务器属性,UseKeychain,AddKeysToAgent设置为YES 如果没有该文件,就创建一个,配置好以后 直接用 ssh name 就可以免密访问服务器啦
vim /home/jocelen/.ssh/config
*添加内容
Host name
User root
Hostname xxx.xxx.xx
Port 23
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
UseKeychain yes
AddKeysToAgent yes
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
config参数解释:
- Host #主机名
- User #访问账户
- Hostname #ip或域名
- Port #端口
- PreferredAuthentications #优先认证方式 这里填publickey
- IdentityFile #本地私钥地址
- UseKeychain #是否使用钥匙串
- AddKeysToAgent #是否添加到钥匙串
上次更新: 2025/02/26, 08:57:57