ssh

ssh

连接服务器

1
2
3
4
5
ssh root@linlc.cc -p 22 -i ~/Desktop/key.pem -o serveraliveinterval=60
# 账户 root,地址 linlc.cc,
# -p 端口 22
# -i 证书路径 key.pem
# -o serveraliveinterval=60 长连接间隔 60s(可防止被踢掉)

配置

1
vi /etc/ssh/sshd_config
1
2
3
4
5
6
7
8
9
10
11
12
13
Port 51022	# 端口
PermitRootLogin yes # 允许 root 登录
PasswordAuthentication yes # 允许 密码登录
# RSAAuthentication yes # 需要rsa密钥
# PubkeyAuthentication yes # 需要公钥
# AuthorizedKeysFile ~/.ssh/authorized_keys # 公钥存放的文件(权限为600)(%%表示%,%h用户主目录,%u用户的用户名)
ClientAliveInterval 3600 # 客户端保持连接时长 秒
# DenyUsers zhangsan lisi # 黑名单 阻止 zhangsan, lisi 登录
# AllowUsers wangwu # 白名单 允许 wangwu 登录

# 主机私钥文件位置,可以多个私钥,注意文件权限600
# HostKey /etc/ssh/ssh_host_rsa_key # 使用的私钥1(ssh版本2)
# HostKey /etc/ssh/ssh_host_dsa_key # 使用的私钥2(ssh版本2)
1
2
3
vi ~/.ssh/config
# UserKnownHostsFile /dev/null
# StrictHostKeyChecking no # 严格验证所连接远程主机的公钥 ~/.ssh/known_hsots 是否在这个里面

免密登录

主机A,免密登录主机B

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 主机A的操作 ----------
# 主机A 生成公钥,私钥(会让你输入路径、与密码。私钥id_rsa, 公钥id_rsa.pub)
ssh-keygen -t rsa -C "youname@example.com"

# 主机A cd 到生成私钥的路径,登录私钥
ssh-add id_rsa

# 主机A 复制 id_rsa.pub 里面的内容到主机B 的authorized_keys文件中
cat id_rsa.pub #(复制打印出来的内容)

# 主机B的操作----------
# 主机B 修改配置文件sshd_config,并开启密钥登录
AuthorizedKeysFile ~/.ssh/authorized_keys

# 注意 authorized_keys 文件权限为 600, .ssh文件夹对应用户权限为700
# 主机B 添加 主机A的公钥 到上面的authorized_keys文件里面
echo 主机A的公钥内容 >> authorized_keys

# 重启主机B的sshd----------
# 重启 sshd
/etc/init.d/sshd restart
# 或
service sshd reload