`

SSH无密码登陆remote-host方法总结

阅读更多
项目使用的Git服务器是基于SSH的,又倡导小步提交,每天频繁的git pull代码和git push代码,每次都需要输入remote-host的密码很是麻烦,参考了网上的做法实验了一下无密码配置,将具体做法总结如下:
1,在local-host使用ssh-keygen命令生成ssh的公钥和私钥(不要设置密码,一路直接Press enter key)
local-user@local-host$ [Note: You are on local-host here]
local-user@local-host$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/local-user/.ssh/id_rsa):[Press enter key]
Enter passphrase (empty for no passphrase):[Press enter key]
Enter same passphrase again:[Press enter key]
Your identification has been saved in /home/local-user/.ssh/id_rsa.
Your public key has been saved in /home/local-user/.ssh/id_rsa.pub.
The key fingerprint is:
d3:2a:75:b4:04:44:4c:27:44:54:89:4b:f4:68:13:32 local-user@local-host


2,把生成的公钥id_rsa.pub拷贝到remote-host(任何你要登陆的服务器),可以使用ssh-copy-id,我用的是windows 7操作系统,使用的Cygwin,且没有ssh-copy-id这个命令,所以直接把id_rsa.pub文件的内容拷贝到remote-host的/home/remote-user/.ssh/authorized_keys文件末尾:
cat /home/local-user/.ssh/id_rsa.pub | ssh remote-user@remote-host 'cat >>  /home/remote-user/.ssh/authorized_keys'


ssh-copy-id -i /home/local-user/.ssh/id_rsa.pub remote-user@remote-host


如果你的ssh默认端口不是22,需要加-p remote-port

cat /home/local-user/.ssh/id_rsa.pub | ssh remote-user@remote-server -p remote-port 'cat >>  /home/remote-user/.ssh/authorized_keys'


3,笔者所用公司电脑装的防火墙把22端口封了,防火墙配置没有权限修改,所以在git服务器的sshd上增加了443端口(这个端口一般不会封,而git服务器上80端口已经提供http服务了)
sudo vi /etc/ssh/sshd_config
Port 443  #增加443端口
sudo reload ssh


使用如下命令查看端口是否已开通
sudo netstat -nlptu | grep :443


开通443端口后修改git repository config file
git config --local -e
remote.origin.url=ssh://git@remote-host:remote-port/opt/git/project.git


git报错git-upload-pack/git-receive-pack:command not found解决办法:
登陆git服务器
cd /usr/bin
ln -s /wls/devopr/git-ies/bin/git* .


参考:
http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/#more-268
http://hi.baidu.com/thinkinginlamp/blog/item/e74ab051102c5f12367abef6.html
分享到:
评论

相关推荐

    SSH无密码登录配置(主要针对Hadoop配置)

    SSH(Secure Shell)是一种网络协议,用于在不安全的网络...总结,SSH无密码登录配置是Hadoop等分布式系统中不可或缺的一部分,它简化了运维工作,提升了效率。正确配置并妥善管理SSH密钥,可以实现安全的无密码登录。

    SSH命令资料----常用

    - 使用 `ssh-copy-id user@hostname` 可以将本地的公钥复制到远程服务器上,便于无密码登录。 - 如果没有 `ssh-copy-id` 命令,可以通过手动方式实现: ```bash cat ~/.ssh/id_rsa.pub | ssh user@machinemkdir ...

    Execute shell script on remote host using ssh.sh

    Jenkins构建Execute shell script on remote host using ssh命令;JenkinsSSH执行命令;

    使用VSCode的Remote-SSH连接Linux进行远程开发

    "remote.SSH.host": "X.X.X.X", "remote.SSH.showLoginTerminal": true, "remote.SSH.identityFile": "C:\\Users\\WINDSUN\\.ssh\\id_rsa" } ``` 7. **常见问题与解决办法** - 如果遇到管道错误,检查 SSH ...

    ssh-远程桌面.zip

    如果已配置了SSH密钥,可以在 PuTTY 的 "Connection > SSH > Auth" 部分指定id_rsa私钥文件路径,实现无密码登录。 **远程连接Linux服务器** 无论使用VSCode Remote-SSH还是PuTTY,连接成功后,你都能执行命令、...

    Linux系统ssh无密码登录设置手册.docx

    Linux系统SSH无密码登录设置手册 1. 引言 ...总结,通过理解SSH的工作原理并按照上述步骤配置,可以实现Linux系统之间的安全无密码登录。在享受便利的同时,不要忘记加强安全措施,防止未经授权的访问。

    remote-ssh:使用Atom和Remote-FTP的小帮手

    remote-sh软件包 介绍 远程SSH是Windows的一个小帮助工具,可以快速启动Putty并连接到当前正在使用的潜在服务器。 当默认的SSH客户端为Putty时,远程SSH支持Linux和Mac的默认SSH客户端,或者其他任何也可以全局访问...

    详解SSH如何配置key免密码登录

    ### SSH Key 免密码登录详解 #### 一、SSH Key 的基本概念与原理 SSH(Secure Shell)是一种网络协议,用于计算机之间的加密登录。通过SSH,可以在非安全的网络环境中提供安全的远程登录服务,其安全性主要依靠...

    Linux系统下如何做到SSH免密码登录

    可以使用`ssh-copy-id`命令简化此过程,例如:`ssh-copy-id user@remote_host`,这将把当前用户的公钥添加到`remote_host`的`authorized_keys`文件。 3. 配置known_hosts:每次将公钥复制到新服务器时,SSH客户端...

    linux ssh key

    Linux SSH key 是一种常用的身份验证方式,通过生成公钥和私钥来实现无密码登录远程 Linux 主机。本文将详细介绍如何在 Linux 和 Windows 平台上生成和使用 SSH key。 一、Linux 平台上生成和使用 SSH key 1. 生成...

    [Mac]解决mac机器上没有ssh-copy-id的问题

    `ssh-copy-id`是SSH工具包的一部分,它简化了将公钥添加到远程服务器的授权钥匙链的过程,从而允许无密码登录。然而,有时在Mac上可能会遇到没有`ssh-copy-id`命令的问题。本文将深入探讨这个问题及其解决方案。 ...

    Execute shell script on remote host using ssh(最新版).txt

    在Jenkins构建springboot项目自动部署的时候,配置远程执行Dockerfile所在服务器的SSH命令,这里把完整的命令贴出来,详细搭建过程见我的博客《基于Jenkins+Gitlab+Docker实现SpringBoot项目自动部署》

    免密码自动登录SSH(免密登陆SSH)_Shell_下载.zip

    免密码自动登录SSH,也称为SSH无密码登录,是一种通过SSH协议进行远程系统访问时,无需每次输入用户密码的方法。这对于频繁需要在多台服务器之间切换的系统管理员来说,极大地提高了工作效率。本教程将详细解释如何...

    SSH客户端操作Linux

    因为远程主机的密钥已经加入到ssh客户端的已知主机列表中,当你第二次登陆远程主机时,只需要你输入远程主机的登录密码即可。 1 2 3 localhost$ ssh -l jsmith remotehost.example.com jsmith@remotehost.example....

    remote-wireshark:在本地运行wireshark从远程主机通过ssh + tcpdump获取流量转储的简单脚本

    要求它假设您在远程主机上使用 sudo,并通过 sudo 对 tcpdump 进行无密码访问。用法./remote-wireshark.sh "[SSH 凭据和额外选项]" "[TCPPDUMP 额外选项]"例子显示 eth0 上 user@host 的网络流量: ./remote-...

    linux下SSH配合SecureCRT的密匙完美使用方法.rar_linux_secureCRT_ssh

    本篇文章将详细介绍如何在Linux系统下利用SSH与SecureCRT配合,通过密钥对进行无密码登录,提升安全性及操作便利性。 首先,了解SSH密钥对的概念。SSH密钥对由一对密钥组成:公钥和私钥。公钥存储在远程服务器上,...

    SSH常用命令大全,Linux下必学!

    - `ssh-keygen`: 用于生成公钥和私钥对,实现无密码登录。 - `exit`: 从远程会话退出。 2. **文件传输** - `scp file user@hostname:path`: 安全复制文件到远程主机。 - `sftp`: 启动一个安全的文件传输协议...

    remote-forwarder:使用 SSH 客户端将本地端口转发到节点中的远程服务器

    target : target // the target host , identityFile : identity // the SSH identity file, optional , user : user // the user in the target system , port : port // the local port to

    SSH Secure Shell

    - **密钥对生成**:使用`ssh-keygen`命令生成公钥/私钥对,将公钥上传到远程服务器,实现无密码登录。 - **限制SSH访问**:通过修改`/etc/ssh/sshd_config`配置文件,限制特定用户的SSH登录,或仅允许特定IP地址...

Global site tag (gtag.js) - Google Analytics