您现在的位置是:首页 >技术交流 >设置ssh免密登录目标主机网站首页技术交流
设置ssh免密登录目标主机
简介设置ssh免密登录目标主机
1. 生成密钥
按照gitee提供的教程https://gitee.com/help/articles/4181#article-header0,使用如下命令:
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"
# Generating public/private ed25519 key pair...
xxxxx@xxxxx.com
只是指定生成的 sshkey 的名称,可以是你的邮箱,也可以其他自定义的内容
输入命令后按三次回车(即使用默认设置),生成 ssh key,保存在~/.ssh/id_ed25519.pub
中。
- 现在就可以将密钥添加进gitee了,输入如下命令:
然后将输出的公钥内容复制到cat ~/.ssh/id_ed25519.pub
https://gitee.com/profile/sshkeys
的公钥栏中,输入标题然后点“确定”
2. 复制公钥到目标主机
执行如下命令,-p
是指定目标主机的ssh端口,-i
是指定公钥文件的位置,user@ip
是目标主机的用户名和ip:
ssh-copy-id -p 22 -i ~/.ssh/id_ed25519.pub user@ip
如果报错Permission denied, please try again.
,则需要将目标主机中的/etc/ssh/sshd_config
里面的
PermitRootLogin yes
和PasswordAuthentication yes
这两行解注释(删掉这两行开头的#
)
然后重启ssh服务:
sudo service ssh restart
再次复制即可添加成功,生成的公钥会默认添加到目标主机的`~/.ssh/authorized_keys中。
现在就完成了免密登录的设置,以后连接目标主机就可以不需要输入用户密码了。
3. 补充资料
/etc/ssh/ssh_config
是OpenSSH客户端配置文件:https://www.ssh.com/academy/ssh/config
/etc/ssh/sshd_config
是OpenSSH服务器配置文件:https://www.ssh.com/academy/ssh/sshd_config
Remmina是一款远程桌面工具,支持SSH、VNC等多种协议,安装也很简单:
https://gitlab.com/Remmina/Remmina/-/wikis/home
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user flathub org.remmina.Remmina
启动命令:
flatpak run --user org.remmina.Remmina
软件截图:
- 可以设置Remmina中终端的风格
- 设置ssh的参数,如免密登录、终端风格、连接前后要自动执行的命令等
- 可以使用sftp传输文件
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。