Linux 安装ssh

折月煮酒 提交于 2020-02-01 17:48:49

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免密码登录

  1. 生成ssh key
  2. 私钥放在本地~/.ssh目录
  3. 公钥放在服务器的~/.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

参考:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!