您现在的位置是:首页 >技术交流 >设置ssh免密登录目标主机网站首页技术交流

设置ssh免密登录目标主机

MAVER1CK 2023-05-18 20:00:01
简介设置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 yesPasswordAuthentication 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传输文件
    在这里插入图片描述
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。