ssh远程登录
ssh简介
Secure Shell(SSH) 可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。
SSH之所以能够保证安全,原因在于它采用了非对称加密技术(RSA)加密了所有传输的数据。
实现SSH登录需要服务器和客户端各自保存公钥和私钥
安装
sudo apt-get install openssh-client #本地主机运行此条,实际上通常是默认安装client端程序的
sudo apt-get install openssh-server #服务器运行此条命令安装
dpkg -l | grep ssh #查看是否安装对应包
启动
sudo /etc/init.d/ssh start #打开服务器服务 关闭 stop
ps -e | grep ssh #可以查看服务是否启动
登录
ssh 服务器端登录用户名@服务器ip地址 #客户端登录 特别注意用户名要正确
ssh-keygen -t rsa #生成公钥私钥
ssh-copy-id server@10.1.1.20 #把公钥上传服务器 免密登录
ssh-copy-id server@10.1.1.20 -i copyed_file_name #指定复制的文件名
同一台电脑配置github gitlab的SSH
两种方式:ssh-add 或者使用配置文件 下面介绍使用配置文件
生成密钥文件
ssh-keygen -t rsa -C '1253156159@qq.com' // GitLab // Enter file in which to save the key (/Users/tomatoro/.ssh/id_rsa): gitlab_ssh ssh-keygen -t rsa -C 'a1253156159@gmail.com' // GitHub // Enter file in which to save the key (/Users/tomatoro/.ssh/id_rsa): github_ssh
- 进入到.ssh文件下,找到gitlab_ssh.pub 和 github_ssh.pub 将里面的内容全部复制粘贴到github 和 gitlab 的SSHKEY上
- 存储本地key
ssh-agent -s ssh-add ~/.ssh/id_rsa_github // 输入生成秘钥时设置的密码 ssh-add ~/.ssh/id_rsa_gitlab // 输入生成秘钥时设置的密码
.ssh下创建config 文件
Host github.com HostName github.com User a1253156159@gmail.com # 登录的邮箱 用户名 PreferredAuthentications publickey IdentityFile ~/.ssh/github_ssh Host 10.1.1.20 HostName 10.1.1.20 User 1253156159@qq.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitlab_ssh Port 80 Host 10.1.1.20 HostName 10.1.1.20 User yang@yang-cp PreferredAuthentications publickey IdentityFile ~/.ssh/gitlab_ssh Port 22
- 因为在自己的服务器上搭建的局域网gitlab 所以服务器登录和gitlab登录的ip一样,导致不能登录服务器
nmap -sT -O 10.1.1.20 //查看ssh端口 默认是22
ssh server@10.1.1.20 -p 22 //指定端口就可以了 - 测试是否连接
ssh -T git@github.com 远程拷贝文件
Secure copyscp path/to/local_file remote_host:path/to/remote_file # 如果是文件夹 需要增加 -r scp remote_host:path/to/remote_file path/to/local_directory
问题
ssh无秘钥登录报错sign_and_send_pubkey: signing failed: agent refused operation。
表示ssh-agent 已经在运行了,但是找不到附加的任何keys,就是说你生成的key,没有附加到ssh-agent上,需要附加一下,执行
eval "$(ssh-agent -s)"
ssh-add
参考
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 yangbenbo@whu.edu.cn
文章标题:ssh远程登录
本文作者:杨本泊
发布时间:2019-09-29, 12:13:36
最后更新:2023-07-09, 07:10:12
原始链接:http://yangbenbo.github.io/2019/09/29/ssh远程登录/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。