My Avatar

skylens

(●´ω`●)/

SSH的设置

2017年5月22日 星期一, 发表于 昆明

SSH

SSH是目前较可靠专为远程登录会话和其他网络服务提供安全性的协议,为计算机上的Shell提供安全的传输和使用环境

安装

SSH分为客户端和服务端,一般的发行版都自带了SSH客户端,安装也主要针对服务器端,配置也主要在服务器端

$ sudo apt-get install -y openssh-server  //Debian/ubuntu
$ sudo yum install -y openssh-server  //CentOS
$ sudo pacman -S openssh  //Archlinux/Manjaro

服务管理

$ sudo /etc/init.d/ssh start  //启动服务
$ sudo /etc/init.d/ssh stop  //停止服务
$ sudo /etc/init.d/ssh restart  //重启服务

配置

1.免密码登录(免密码登录就是使用密钥来登录)

$ ssh-keygen -t rsa -b 4096 -C "xxxx@mail.com"  //生成密钥对,这样生成密钥对可以把公钥放到GitHub上
$ scp .ssh/id_rsa.pub user@server:~/  //把公钥上传到server上
$ ssh user@server  //登录到server上,准备设置实现用user登录server免密码
$ cat id_rsa.pub >> ~/.ssh/authorized_keys  //把公钥添加到.ssh/authorzied_keys文件里
$ chmod 600 .ssh/authorized_keys  //authorzied_keys修改文件的权限
$ rm id_rsa.pub  //删除公钥
$ ssh-copy-id -p 22 -i .ssh/id_rsa.pub user@server  //这条命令可实现上述的效果

2.禁止文本密码登录,使用密钥登录

PasswordAuthentication no

3.root设置

PermitRootLogin without-password  //加上第二部的设置,可以实现root只能用密钥登录,不能用文本密码登录
PermitRootLogin no  //禁止root登录,无论是密码还是密钥都不行

4.利用 ssh 的用户配置文件 config 管理 ssh 会话

$ cd .ssh
$ vim config
Host vps
  HostName 192.168.1.110
  Port 2222
  User admin
  IdentityFile ~/.ssh/private_ras
$ ssh vps   //效果等同于 ssh -i ~/.ssh/private_ras admin@192.168.1.110 -p 2222

ssh工具使用

$ ssh-keygen -t rsa -f cloud.pem  //生成名为cloud.pem的密钥对