SSH(Secure Shell)安全外壳协议,建立在应用层基础上的安全协议,专为远程登录会话和其他网络服务提供安全性的协议
安装ssh
1234567891011121314151617181920212223242526 | #查看ssh服务是否开启ps -e |grep ssh#安装ssh服务,openssh是ssh的开源实现方式#只要安装了ssh服务,本地linux可以当做服务器sudo apt install openssh-serversudo yum install openssh-server -y#本地安装ssh客户端,可能已经安装sudo apt install openssh-clientsudo yum install openssh-clients -y#配置sshsudo vi /etc/ssh/sshd_configPermitRootLogin yes 把注释去掉#开启ssh服务sudo service sshd startsudo systemctl start sshd.service#开机启动SSH服务sudo chkconfig sshd onsudo systemctl enable sshd.service#连接,端口默认为22,可以不写ssh -p 22 userName@192.168.1.100 |
使用别名登录ip
打开~/.ssh/config
,不存在就自己创建一个
12345 | Host AAAAA #服务器主机名 HostName 192.168.0.222 #服务器地址 User work #work为登陆用户名,不是自己电脑的名字 Port 22 #主机端口,默认是22 IdentityFile /home/me/.ssh/id_rsa #自己生成的私钥的文件路径 |
12 | #使用别名登录ssh AAAAA |
多对ssh管理
指定不一样的私钥名
1 | ssh-keygen -t rsa -f ~/.ssh/id_rsa.second |
配置~/.ssh/config
,在原有的基础上增加新的字段
1234567891011 | # Default github user(first@mail.com) 默认配置,一般可以省略Host github Hostname github.com User git Identityfile ~/.ssh/id_rsa_github# second user(second@mail.com) 给一个新的Host称呼Host secondgithub #主机名字,不能重名 HostName github.com User git IdentityFile ~/.ssh/id_rsa.second #私钥路径 |
大专栏 Linux 安装sshitle="设置SSH免密码登录">设置SSH免密码登录
- 生成ssh key
- 私钥放在本地
~/.ssh
目录 - 公钥放在服务器的
~/.ssh/authorized_keys
1234567891011121314151617181920212223242526272829 | #1.客户端本地生成公钥和私钥,rsa是加密方式ssh-keygen -t rsa# ~/.ssh目录中创建两个名为id_rsa和id_rsa.pub的文件,id_rsa是私钥,id_rsa.pub是公钥#2.设置权限chmod -R 700 ~/.sshchmod 600 ~/.ssh/id_rsa #默认就是600#3. 复制公钥到服务器然后写入到~/.ssh/authorized_keys 方法一# 使用SSH远程登陆到服务器,发现家目录中还没有.ssh目录,使用mkdir创建mkdir .ssh# 发送公钥scp ./id_rsa.pub alice@192.168.0.10:/home/alice/.ssh# 将公钥追加写入~/.ssh/authorized_keys中,若authorized_keys不存在,则会创建并写入cat id_rsa.pub >> ~/.ssh/authorized_keys#修改authorized_keys的权限为600,并删除公钥文件rm id_rsa.pub# 复制公钥到服务器然后写入到~/.ssh/authorized_keys 方法二# ssh-copy-id 命令可以把本地主机的公钥复制到远程主机的 authorized_keys 文件上ssh-copy-id -i ~/.ssh/id_rsa.pub user@serverchmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys#4.配置ssh,如果发现依旧无法连接,考虑是否打开配置sudo vi /etc/ssh/sshd_configRSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys |
清除SSH的私钥密码
12345 | ssh-keygen -p# 选择需要修改的私钥,默认是/home/username/.ssh/id_rsa# 选好文件后按回车,会提示你输入旧密码。#输入好后会提示输入新密码。#直接回车,提示确认新密码再直接回车,此时指定的私钥的密码就被清除了 |
SSH相关命令参考 Linux网络管理 远程登录
补充:
https://wiki.centos.org/HowTos/Network/SecuringSSH
参考:
- https://wiki.centos.org/HowTos/Network/SecuringSSH
- http://www.iosugar.com/2017/02/14/CentOS-remote-login-SSH-configuration/#SSH%E7%99%BB%E9%99%86
- http://einverne.github.io/post/2016/06/ssh-copy-id.html
- https://www.ssh.com/ssh/copy-id
- https://linux.cn/article-6901-1.html
来源:https://www.cnblogs.com/liuzhongrong/p/12249090.html